- 博客(31)
- 收藏
- 关注
转载 objc非主流代码技巧
我是前言看开源代码时,总会看到一些大神级别的代码,给人眼前一亮的感觉,多数都是被淡忘的C语言语法,总结下objc写码中遇到的各类非主流代码技巧和一些妙用:[娱乐向]objc最短的方法声明[C]结构体的初始化[C]三元条件表达式的两元使用[C]数组的下标初始化[objc]可变参数类型的block[objc]readonly属性支持扩展的写法[C]小括号内联复合表达式[娱乐向]奇葩的C
2017-03-21 10:38:19
297
转载 Masonry 动画刷新
使用Masonry,通过代码来进行布局equalto 和 mas_equalto 是有区别的。但是我们不打算去了解,可以通过添加以下代码来统一。注意!! 宏定义必须要放在 import 引入头文件之前!//define this constant if you want to use Masonry without the 'mas_' prefix#define MAS
2017-03-16 17:00:00
1242
原创 获取Assets.xcassets中APPIcon中的图片
获取Assets.xcassets中APPIcon中的图片 iOS 获取Assets.xcassets中APPIcon中的图片NSDictionary*infoPlist = [[NSBundle mainBundle] infoDictionary];NSString*icon = [[infoPlist valueForKeyPath:@"CFBundleIcons.CFBundleP
2016-12-15 11:34:46
892
原创 Mac OS X 11中的/usr/bin 的“Operation not permitted”
sudo cp -f mvim /usr/bin/然而出现了权限问题:cp: /usr/bin/mvim: Operation not permitted搜索之后发现,是El Capitan 加入了Rootless机制,不再能够随心所欲的读写很多路径下了。设置 root 权限也不行。Rootless机制将成为对抗恶意程序的最后防线于是尝试关闭 Rootless。重启按住
2016-08-24 14:49:17
943
转载 Masonry实现
关于Autolayout刚开始学习Autolayout的时候,什么“Leading Edges”、“Horizontal Centers”,好多啊,感觉一下子适应不来,有时候面对一个界面布局上的需求,可能都无从下手。总的来说,我觉得Autolayout的关键就是“Constraint(约束)”。其实就是一下两点:从显式设置frame的属性,到利用约束控制View的大小、
2016-06-16 14:46:22
466
转载 Block的引用循环问题
2010年WWDC发布iOS4时Apple对Objective-C进行了一次重要的升级:支持Block。说到底这东西就是闭包,其他高级语音例如Java和C++已有支持,第一次使用Block感觉满简单好用的,但是慢慢也遇到很多坑。本文聊聊ARC和non-ARC下Block使用中的引用循环问题,最近遇到了好几次这种问题,还是深入记录下。先来套题目热热身,貌似能够全部答对的人蛮少的Block实现
2016-06-16 14:44:36
248
原创 UIViewController的生命周期及iOS程序执行顺序
当一个视图控制器被创建,并在屏幕上显示的时候。 代码的执行顺序1、 alloc 创建对象,分配空间2、init (initWithNibName) 初始化对象,初始化数据3、loadView 从nib载入视图 ,通常这一步不需要去干涉。除非你没有使用xib文件创建视图
2016-06-15 17:01:37
267
转载 Cocoapods完整使用篇
http://mp.weixin.qq.com/s?__biz=MzIzMzA4NjA5Mw==&mid=214027899&idx=1&sn=f1de7177dd77e4ca4c00129d4b7f64c8#rdhttp://www.jianshu.com/p/0e1d796b2a42
2016-06-06 17:44:34
221
原创 iOS中利用 runtime 一键改变字体
1、准备我们新建一个项目名叫ChangeFont,然后我就随便找了个名叫loveway.ttf的字体库拖进去,里面的工程目录大概就是这样的目录现在我们就简单的直接在storyboard上拖了一个label一个button,约束好,像这样storyboard嗯,就这样,很简单,运行运行结果
2016-05-24 15:33:52
564
原创 iOS 更改全局字体
1、创建UIFont的分类、运行时关联()+(void)load{ Swizzle([selfclass], @selector(systemFontOfSize:),@selector(wtj_systemFontOfSize:)); }+ (UIFont *)wtj_systemFontOfSize:(CGFloat)f
2016-05-21 15:27:05
1267
原创 Swizzle运行时
#import //获取一个类的所有属性名字:类型的名字,具有@property的,父类的获取不了!NSDictionary *GetPropertyListOfObject(NSObject *object);NSDictionary *GetPropertyListOfClass(Class cls);void Swizzle(Cla
2016-05-21 15:26:02
358
转载 升级10.11后使用CocoaPod出现-bash: pod: command not found 解决办法
升级10.11后,运行pod命令出现:-bash: pod: command not found解决办法:sudo gem install -n /usr/local/bin cocoapods之后pod命令可以使用了。如果pod update / pod install 卡在:Updating local specs repositories等待即可,或者可以
2016-04-20 16:30:46
275
原创 iOS 数组 filter 对象
通常情况下,根据一个条件在数组中查询出匹配的对象的方式有如下几种: (1)遍历数组,然后将每一个Item和这个条件进行比对,过滤出匹配的对象显然这个效率比较低 (2)iOS提供另一个效率较高的查询方法,谓词NSPredicate,使用方法如下C代码 1.NSString 对象 NSArray *array =@[
2016-04-19 09:37:43
1466
转载 内存恶鬼drawRect
标题有点吓人,但是对于drawRect的评价倒是一点都不过分。在平日的开发中,随意覆盖drawRect方法,稍有不慎就会让你的程序内存暴增。下面我们来看一个例子。去年的某天午后,北京的雾霾依旧像现在这样醇厚,我的同事辉哥像往常一样与我楼下约烟。我见辉哥表情凝重,便询问究竟。辉哥做了一个画板功能,但是苦于内存问题一直得不到解决。画板功能很简单,就是记录手指触摸的轨迹然后绘制在屏幕上。下面我们
2016-04-12 11:08:09
374
转载 iOS 开发之动画篇 - Transform和KeyFrame动画
http://www.cocoachina.com/ios/20160217/15267.html
2016-03-09 18:05:14
363
转载 iOS开发系列--音频播放、录音、视频播放、拍照、视频录制
http://www.cnblogs.com/kenshincui/p/4186022.html
2016-03-04 16:12:56
200
转载 谈谈UIView的几个layout方法-layoutSubviews、layoutIfNeeded、setNeedsLayout
http://www.jianshu.com/p/eb2c4bb4e3f1
2016-03-03 19:44:26
413
转载 ReactiveCocoa框架菜鸟入门——信号(Signal)详解 第五课:适合给新手看的RAC用法总结
配置RAC环境我习惯用cocoapods来安装github上得开源库,不会的新手iOS开发者有兴趣可以去学一下。想学习cocoapods的同学推荐唐巧前辈的文章。platform:ios, '8.0'pod 'ReactiveCocoa','~>2.1.8'这里有一点要注意下就是RAC的版本问题,由于还没学习Swift,所以我是用OC编写程序的,最新版的RAC已经支持
2016-02-24 19:20:32
2759
转载 ReactiveCocoa框架菜鸟入门——信号(Signal)详解 第四课
ReactiveCocoa是一个框架,它能让你在iOS应用中使用函数响应式编程(FRP)技术。在本系列教程的第一部分中,你学到了如何将标准的动作与事件处理逻辑替换为发送事件流的信号。你还学到了如何转换、分割和聚合这些信号。 在本系列教程的第二部分,你将会学到一些ReactiveCocoa的高级功能,包括:另外两个事件类型:error 和 completed节流线程延伸其
2016-02-24 19:18:52
1325
转载 ReactiveCocoa框架菜鸟入门——信号(Signal)详解 第三课:
作为一个iOS开发者,你写的每一行代码几乎都是在响应某个事件,例如按钮的点击,收到网络消息,属性的变化(通过KVO)或者用户位置的变化(通过CoreLocation)。但是这些事件都用不同的方式来处理,比如action、delegate、KVO、callback等。ReactiveCocoa为事件定义了一个标准接口,从而可以使用一些基本工具来更容易的连接、过滤和组合。如果你对上
2016-02-24 19:16:57
1600
转载 ReactiveCocoa框架菜鸟入门——信号(Signal)详解 第二课:信号(Signal)的各种操作
在之前的基础上,ReactiveCocoa提供了对信号的各种操作。这些操作几乎都用到了FlattenMap方法。意味着返回一个被修改之后的信号。同时,几乎每个操作还调用了return方法。//这个return不是我们用于返回一个值的return,只是名字比较像。+ (RACSignal *)return:(id)value { return [RACRet
2016-02-24 19:15:21
674
转载 ReactiveCocoa框架菜鸟入门——信号(Signal)详解 第一课:什么是 ReactiveCocoa
什么是 ReactiveCocoaReactiveCocoa(其简称为 RAC)是由 Github 开源的一个应用于 iOS 和 OS X 开发的新框架。RAC 具有函数式编程和响应式编程的特性。它主要吸取了 .Net 的 Reactive Extensions 的设计和实现。ReactiveCocoa 试图解决什么问题经过一段时间的研究,我认为 ReactiveCocoa 试图解
2016-02-24 19:14:23
661
转载 颁发机构无效
从2月14号开始,上传AppStore会碰到:Failed to locate or generate matching signing assets字数462 阅读11480 评论16 喜欢51 从2月14号开始,上传AppStore时可能会碰到这个问题:Failed to locate or generate matching signing assetsXcode
2016-02-24 10:59:16
733
转载 怎么样在iOS开发中用ARC和MRC混编
http://jingyan.baidu.com/article/f3ad7d0f18e27609c3345bac.html
2016-01-03 11:35:38
277
转载 iOS微信支付SDK开发经验
首先遇到的问题就是微信SDK版本,在微信开放平台下了官方SDK,在编译的时候各种报错, "_OBJC_CLASS_$_WXApi", referenced from:symbol(s) not found for architecture x86_64在Google上找了一下午,真是浪费时间。后来发现下载的官方SDK解压后有两个文件夹:WeChatSDK_1
2016-01-03 11:28:21
465
转载 iOS 关于屏幕旋转shouldAutorotate
参考 :http://blog.youkuaiyun.com/totogogo/article/details/8002173http://www.cocoachina.com/bbs/read.php?tid-116091.html http://stackoverflow.com/questions/26503423/shouldautorotate-behavior-in-ios-8http://stackoverflow.com/questions/23960478/child-uiviewco
2016-01-03 11:26:47
853
原创 解决pod install无法执行问题
1、报错:Agreeingtothe Xcode/iOS license requires admin privileges, please re-runas root via sudo.2、解决办法:第一步: 输入下面的命令bixiaopeng@bixiaopengtekiMacBook-Pro SecondApp$ sudo xcodebuild -licens
2015-11-04 22:23:21
679
原创 自定义UitableViewcell 加载大图片的内存优化问题
1、uitableviewcell重用机制2、http用AFNetworking和SDWebImage加载图片,socket用EGOCache加载图片3、自定义uitableviewcell内部属性需要实例化weak属性来指向你init的控件
2015-11-04 10:54:06
488
转载 解决iOS工程 默认竖屏 MPMoviePlayerController 全屏不能横屏的情况
In AppDelegate.h:@property(nonatomic)BOOL allowRotation;in AppDelegate.m:- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ self.win
2015-10-29 17:27:39
1201
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人