iOS开发
文章平均质量分 68
ryansuan
这个作者很懒,什么都没留下…
展开
-
xcodebuild 打包
最近研究了一下使用xcodebuild打包ipa,由于我们工程使了cocoapods,发现了几个问题问题一:使用workspace时总链接不上pod里的库,ld: libray not found for -lXXX问题二:使用xcrun packageApplication打包时,出现ResourceRules.plist: cannot read resources于是。。原创 2016-04-08 14:14:29 · 469 阅读 · 0 评论 -
瀑布流的加载更多
我们做瀑布流,一般使用UICollectionView这种集合视图,当然了,它不仅仅能做瀑布流,根据不同的layout,将各视图collect到一起各种的布局,并能做到视图复用,可谓是非常强大了。对于加载更多,我们遇到了问题。1、当下页的数据接在上一页调用reloadData时,如果你正在滚动collectionView,它就会小小的卡顿。2、如何做到边滑动边加载下边页面,原创 2016-06-27 16:19:59 · 1613 阅读 · 0 评论 -
@weakify和@strongify
提到OC中的block,它像函数指针,当然了,我们知道OC其实都是结构体,所以也就是结构体指针了,我们暂不讨论LLVM的Clang前端是如何转换OC代码的。一般来说,引入ARC后,出现内存泄露的情况少很多了,很容易出现的地方还是在于使用block造成的循环引用,即block内捕获了外部实例变量,为了保证block内部变量一直存在,默认对其进行了强引用,如果在这个变量的强引用链上,也引用原创 2016-07-18 14:22:56 · 2276 阅读 · 0 评论 -
RAC冷信号
概念首先,信号使用发布订阅模式。冷信号:订阅者订阅了信号,它才会发布,并且立即把信号中的所有操作发布。 热信号:信号发布与订阅者订阅与否无关,订阅者可以在信号的发布过程中订阅。例子分析冷信号 冷信号像调用函数一样,订阅就是去调用。看下面的代码:RACSignal *signal = [RACSignal createSignal:^RACDisposable *(id<RACSubscrib原创 2016-10-13 11:29:04 · 381 阅读 · 0 评论 -
RAC热信号
首先来看如下代码发布信号: RACSignal *signal = [RACSignal createSignal:^RACDisposable *(id<RACSubscriber> subscriber) { [subscriber sendNext:@1]; [[RACScheduler mainThreadScheduler] afterDelay:1原创 2016-10-18 14:24:07 · 389 阅读 · 0 评论 -
oc runtime之strong
当调用object_setIvar时,我们看到了如下的代码:id *location = (id *)((char *)obj + offset); switch (memoryManagement) { case objc_ivar_memoryWeak: objc_storeWeak(location, value); break; case objc_ivar原创 2017-11-23 12:17:12 · 247 阅读 · 0 评论 -
oc runtime之weak
二、weak声明了弱引用,实际上调用了objc_initWeak函数/** * Initialize a fresh weak pointer to some object location. * It would be used for code like: * * (The nil case) * __weak id weakPtr; * (The non-nil case)原创 2017-11-23 16:56:21 · 628 阅读 · 0 评论 -
Podspec 语法
说明文件(Sepcification)说明文件描述了一个版本的pod库。它描述了库的详内容,诸如去哪里获取源码,使用什么文件,应用编译设置,以及其它的一般元数据如它的名字、版本和描述。一个基本的说明文件能使用pod spec create命令生成。说明文件的DSL(描述语言)提供了很强的扩展性和动态性,而且,DSL采用了"协议优于配置"的规则,因此它能非常地简单翻译 2018-02-01 15:08:45 · 959 阅读 · 0 评论