IP属地:北京
本文主要引自iOS开发中的11种锁以及性能对比数据竞争的定义很简单:当至少有两个线程同时访问同一个变量,而且至少其中有一个是写操作时,就发生了数...
读写属性:setter:指定生成setter方法的名字。getter:指定生成getter方法的名字,例如@property (nonatomi...
通常来说,delegate都使用weak修饰,为了避免循环引用,但是并不是所有的情况都如此,通过NSURLSession的头文件我们发现,NSU...
可以,但不会增加该对象的引用计数,当没有强引用持有该对象时,该对象就会被释放,如果此时再向该对象发消息,会导致崩溃问题。
因为当我们将控件拖到Storyboard上,相当于新创建了一个对象,而这个对象是加到视图控制器的view上,view有一个subViews属性,...
关于系统的容器类和非容器类的数据类型在响应copy和mutableCopy方法有些区别。
遵守NSCopying协议,实现copyWithZone方法,在方法中新创建一个对象,然后对于OC和Swift来说有些区别,OC利用runtim...
由于控制器的初始化方式不同,触发的函数略有不同。如果控制器是直接通过代码或者XIB创建出来的,并且调用方法为[[ViewController a...
当一个UIView对象调用setNeedsLayout方法时,实际上等同于做了一个标记,告诉系统需要重新布局,但不会立刻执行,直到drawing...