摘要:
Run Loop就是一个事件处理的循环,用来不停的调动工作以及处理输入事件。使用Run Loop的目的就是节省CPU效率,线程在有工作的时候忙于工作,而没工作的时候处于休眠状态。 理解对按钮添加事件这个操作[btn addTarget:self action:@selector:(btnCli... 阅读全文
摘要:
nonatomic 非原子属性atomic 原子属性他们本身就是个加锁。原子属性就是不可分割的属性 原子属性实现:单(线程)写,多(线程)读。因为写的安全级别要求更高,读的安全级别要求低一些,可以多读几次保证数据正确性。在atomic情况下,只要重写了set方法,getter也得重写,原子属性内部... 阅读全文