摘要: 同步和异步 异步: 指的就是多线程, 把`对应的代码`放到其他线程中去执行, 当前线程的代码就继续往下执行,不需要等到刚才放到子线程中的代码执行完毕. 同步执行函数: 这个实际的应用场景不多 , 了解即可 登录,注册 需要放到一个队列中去执行 下载文件 需要放到另外一个队列去执行 异步执行函数: 串 阅读全文
posted @ 2016-07-04 23:55 爱分享爱生活 阅读(298) 评论(0) 推荐(0) 编辑
摘要: 一次执行 dispatch_once: 对应的代码只执行一次 , 并且它是线程安全的, 系统会自动这个函数加锁,保存同一时间只有一个线程去执行任务, 实现真正意义的一次性执行 什么时候需要用到一次性执行: 单例 单例: 就是在程序运行期间,只有一个实例化对象 举例:音乐播放器的App, 同时只能播放 阅读全文
posted @ 2016-07-04 23:51 爱分享爱生活 阅读(333) 评论(0) 推荐(0) 编辑
摘要: 1.所有网络操作不能直接写在主线程中 因为所有的网络操作都是耗时的,如果加载到主线程中,会导致与用户的交互出现问题 ,所以要加载到子线程中 2.在子线程中直接更新UI会报错, 千万不能在子线程中更新UI (假如允许任意子线程访问、修改UI控件的属性,这就需要对多个新线程的并发访问进行同步控制,否则多 阅读全文
posted @ 2016-07-02 19:56 爱分享爱生活 阅读(1226) 评论(0) 推荐(0) 编辑
摘要: 如果有cell的重用 那么就会跳过if语句中的创建过程 当拖动页面,最上面的cell消失,出现新的cell的时候 就会在缓存区存放刚才消失的cell,而属性会重新设置,为什么? 因为缓存区中存放的cell的属性是消失的cell的,他的属性如果不符合新的cell就需要重新分配属性, 一有新的cell出 阅读全文
posted @ 2016-07-01 22:19 爱分享爱生活 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 1 - (void)objectThread{ 2 Person *p = [Person new]; 3 //target 的作用: 不是碰到target 就写 self , 如果参数有方法, 那么这个target 就应该是实现该方法的对象(例如创建一个person类,需要用到类中的方法,这时就 阅读全文
posted @ 2016-07-01 21:46 爱分享爱生活 阅读(271) 评论(0) 推荐(0) 编辑