240 发简信
mjf
IP属地:广东
  • @synthesize和@dynamic区别

    在声明property属性后,有2种实现选择 @synthesize 编译器期间,让编译器自动生成getter/setter方法。 当有自定义的...

  • GCD

    1、常用的方法dispatch_async 为了避免界面在处理耗时的操作时卡死,比如读取网络数据,IO,数据库读写等,我们会在另外一个线程中处理...

  • NSTimer

    //关闭 - 永久关闭 [timer invalidate]; //暂时定时器 [myTimer setFireDate:[NSDate dis...

  • Cocoa Touch事件处理流程--响应者链

    1、响应者链通常是由视图(UIView)构成的; 2、一个视图的下一个响应者是它视图控制器(UIViewController)(如果有的话),然...

  • 单例写法

    + (id)sharedInstance { static CommonHttpUlity *sharedInstance = nil; sta...

  • strong,weak,retain,assign,copy nomatic 等的区别

    assign: 简单赋值,不更改索引计数(Reference Counting)对基础数据类 copy与strong区别: 当源字符串是NSSt...

  • 关于block使用的5点注意事项

    http://www.cnblogs.com/biosli/p/block_usage.html

  • block和代理的,通知的区别

    http://www.jianshu.com/p/33753c326232

  • SDWebImage底层实现原理及内部实现过程

    http://www.jianshu.com/p/ba4cbf8dfe49