由于�一直没有好好学习UIView的绘制流程,关于UIView的drawRect一直以来都有两个疑问:1 为什么只在drawRect方法里才能获取当前图层的上下文2 draw...
由于�一直没有好好学习UIView的绘制流程,关于UIView的drawRect一直以来都有两个疑问:1 为什么只在drawRect方法里才能获取当前图层的上下文2 draw...
最近在学核心动画的时候遇到了遇到了fillMode的属性,除了kCAFillModeForwards比较理解意外,其他三个参数一脸蒙蔽,感觉没什么区别,看官方文档也没看出个所...
在深夜 总能发现好文章,
iOS实现一个陌陌聊天里的“震惊”效果如下,第一次看到陌陌的这个效果,一半惊艳一半懵逼:动画确实有震惊的效果,但是怎么实现的? 分解一下: 抖动 添加黑白闪烁的半透明蒙层 用白色折线画闪电 对UILabel截图,...
整个运行时初始化时 _objc_init 注册的回调 dyld_register_image_state_change_handler(dyld_image_state_de...
流程总结 1 void _read_images(header_info **hList, uint32_t hCount); 参数是个 header_info指针数组,应该...
下面代码输出什么? self super @implementation Son : Father - (id)init { self = [super init]; ...
如果把类的实例看成一个C语言的结构体(struct) 首先包含的是一个 isa 指针 类的其它成员变量依次排列在结构体中 对象在内存中的排布可以看成一个结构体,该结构体的大小...
我们上文提到过 class_data_bits_t,说到它与方法相关~ 类结构 struct objc_class : objc_object { // Class IS...
代替 isa 指针的是结构体 isa_t 当实例方法被调用时,它要通过自己持有的isa 来查找对应的类,然后在object_class的 class_data_bits_t中...
目前iOS中,objc_class与objc_object使用的是后两个定义。 struct objc_class : objc_object { // Class IS...
在Objective-C高级编程中,提到了autorelease的优化。即Autorelease返回值的快速释放机制,并特意注明在objc4版本中只能在OS X 64位中最优...
ARC下,我们使用@autoreleasepool{}来使用一个AutoreleasePool void main(int argc, char * argv[]) { ...
最后,ARC下的修饰符只剩下__autoreleasing修饰符,看到这个,是不是想到了autorelease! ARC下不能显示调用autorelease方法,也不能显示使...
ARC下仅仅__strong是不能解决所有问题的,例如循环引用(应当废弃的对象在超出其生存周期后继续存在) A对象持有B对象的强引用,B对象持有A对象的强引用,相互强引用,发...
1 无论ARC还是MRC,编译器会给我们生成setter与getter方法的声明与实现。 2 属性或成员变量可以是基本类型,也可以是对象类型。基本类型的成员变量的setter...
int main(int argc, const char * argv[]) { @autoreleasepool { _objc_autorele...
copy要从几个方面说 以字符串为例, copy mutableCopy 不可变字符串 同一个实例 ...
前面说过了属性,而说了属性就不得不提到,点语法 在类内定义一个实例变量 { NSInteger _age; } 类外,这样调用:person.age = 10; 编译报错:P...
@property是什么? @property是一个是编译器特性,在Xcode 4.4之前,编译器会自动生成setter和getter方法的声明。 例如:作为方法声明,为别的...
简书 很早就注册的有,但是从未发表过文章,有两个原因: 一 很早之前,我就得出一个结论,想要用有限的经历得出所谓的 人生结论。是可笑的,是愚蠢的。 CSDN,新浪博客,有很多...