摘要: retain cycle 会造成内存溢出,严重情况会引起崩溃。一般注意点也不会发生,但在网络连接比较多的地方就会不小心出现,vc异步的网络请求,成功后的block调用vc,如果此时,用户已经不用此vc了,vc还是没有释放。曾近自己写过一个下拉刷新,那个view和vc互相强引用,导致了没释放。view 阅读全文
posted @ 2016-03-05 23:49 starainDou 阅读(266) 评论(0) 推荐(0) 编辑
摘要: 这个问题很少遇到,但是答案当然不是。atomic在set方法里加了锁,防止了多线程一直去写这个property,造成难以预计的数值。但这也只是读写的锁定。跟线程安全其实还是差一些。看下面。 @interface MONPerson : NSObject @property (copy) NSStri 阅读全文
posted @ 2016-03-05 23:47 starainDou 阅读(831) 评论(0) 推荐(0) 编辑
摘要: 一般在block中修改变量都需要事先加block进行修饰。在非arc中,block修饰的变量的引用计算是不变的。在arc中,会引用到,并且计算+1;非arc下可使用(arc直接使用__weak即可) //非ARC __block typeof(self) weakSelf = self; self. 阅读全文
posted @ 2016-03-05 23:46 starainDou 阅读(303) 评论(0) 推荐(0) 编辑
摘要: 在objective-c中,类中的全局变量经常使用如下的方式申明。 @property(nonatomic(1),strong(2))UIImageView *imageView; 其中的1,2处是对此变量的一些属性申明。有以下几种strong weakassignstrong 和 weak 是在a 阅读全文
posted @ 2016-03-05 23:44 starainDou 阅读(627) 评论(0) 推荐(0) 编辑
摘要: arc就是自动引用计算。英文名Automatic Reference Counting。在一开始的IOS开发中,内存管理是需要手动的,对某个资源的引用,引用后就对其计算+1,当不再使用就-1,当计算为0,就没有对象引用此资源,就可以释放了。后来呢,大家觉得这样不行,该搞个什么东西自动来做这些事情,当 阅读全文
posted @ 2016-03-05 23:42 starainDou 阅读(587) 评论(0) 推荐(0) 编辑
摘要: 1.什么是ARC 2.区别assign VS weak,__block VS __weak 3.__block在ARC和非ARC下有什么不同 4.使用atomic一定是线程安全的吗 5.遇到的retain cycle例子 6.+ (void)load和+ (void)initialize有什么用处 阅读全文
posted @ 2016-03-05 23:23 starainDou 阅读(355) 评论(0) 推荐(0) 编辑
摘要: 翻译自ReactiveCocoa and MVVM, an Introduction. 文中引用的 Gist 可能无法显示。为了和谐社会, 请科学上网。 MVC 任何一个正经开发过一阵子软件的人都熟悉MVC,它意思是Model View Controller, 是一个在复杂应用设计中组织代码的公认模 阅读全文
posted @ 2016-03-05 16:49 starainDou 阅读(194) 评论(0) 推荐(0) 编辑