240 发简信
IP属地:上海
  • 120
    关于drawRect

    由于�一直没有好好学习UIView的绘制流程,关于UIView的drawRect一直以来都有两个疑问:1 为什么只在drawRect方法里才能获取当前图层的上下文2 draw...

  • 120
    FillMode详解

    最近在学核心动画的时候遇到了遇到了fillMode的属性,除了kCAFillModeForwards比较理解意外,其他三个参数一脸蒙蔽,感觉没什么区别,看官方文档也没看出个所...

  • 在深夜 总能发现好文章,

    iOS实现一个陌陌聊天里的“震惊”效果

    如下,第一次看到陌陌的这个效果,一半惊艳一半懵逼:动画确实有震惊的效果,但是怎么实现的? 分解一下: 抖动 添加黑白闪烁的半透明蒙层 用白色折线画闪电 对UILabel截图,...

  • Main函数之前的Load

    整个运行时初始化时 _objc_init 注册的回调 dyld_register_image_state_change_handler(dyld_image_state_de...

  • Category源码分析

    流程总结 1 void _read_images(header_info **hList, uint32_t hCount); 参数是个 header_info指针数组,应该...

  • runtime 小测试

    下面代码输出什么? self super @implementation Son : Father - (id)init { self = [super init]; ...

  • 对象的内存结构与强壮的成员变量

    如果把类的实例看成一个C语言的结构体(struct) 首先包含的是一个 isa 指针 类的其它成员变量依次排列在结构体中 对象在内存中的排布可以看成一个结构体,该结构体的大小...

  • class_data_bits_t

    我们上文提到过 class_data_bits_t,说到它与方法相关~ 类结构 struct objc_class : objc_object { // Class IS...

  • isa_t

    代替 isa 指针的是结构体 isa_t 当实例方法被调用时,它要通过自己持有的isa 来查找对应的类,然后在object_class的 class_data_bits_t中...

  • 类与对象

    目前iOS中,objc_class与objc_object使用的是后两个定义。 struct objc_class : objc_object { // Class IS...

  • autorelease的优化

    在Objective-C高级编程中,提到了autorelease的优化。即Autorelease返回值的快速释放机制,并特意注明在objc4版本中只能在OS X 64位中最优...

  • 自动释放池源码分析

    ARC下,我们使用@autoreleasepool{}来使用一个AutoreleasePool void main(int argc, char * argv[]) { ...

  • __autoreleasing

    最后,ARC下的修饰符只剩下__autoreleasing修饰符,看到这个,是不是想到了autorelease! ARC下不能显示调用autorelease方法,也不能显示使...

  • 循环引用

    ARC下仅仅__strong是不能解决所有问题的,例如循环引用(应当废弃的对象在超出其生存周期后继续存在) A对象持有B对象的强引用,B对象持有A对象的强引用,相互强引用,发...

  • MRC与ARC下的setter方法

    1 无论ARC还是MRC,编译器会给我们生成setter与getter方法的声明与实现。 2 属性或成员变量可以是基本类型,也可以是对象类型。基本类型的成员变量的setter...

  • 从MRC到ARC

    int main(int argc, const char * argv[]) { @autoreleasepool { _objc_autorele...

  • Copy

    copy要从几个方面说 以字符串为例, copy mutableCopy 不可变字符串 同一个实例 ...

  • OC中的点语法

    前面说过了属性,而说了属性就不得不提到,点语法 在类内定义一个实例变量 { NSInteger _age; } 类外,这样调用:person.age = 10; 编译报错:P...

  • @property

    @property是什么? @property是一个是编译器特性,在Xcode 4.4之前,编译器会自动生成setter和getter方法的声明。 例如:作为方法声明,为别的...

  • 序言

    简书 很早就注册的有,但是从未发表过文章,有两个原因: 一 很早之前,我就得出一个结论,想要用有限的经历得出所谓的 人生结论。是可笑的,是愚蠢的。 CSDN,新浪博客,有很多...