摘要:
使用NSOperationQueue简化多线程开发多线程开发是一件需要特别精心的事情,即使是对有多年开发经验的工程师来说。为了能让初级开发工程师也能使用多线程,同时还要简化复杂性。各种编程工具提供了各自的办法。对于iOS来说,建议在尽可能的情况下避免直接操作线程,使用比如NSOperationQueue这样的机制。可以把NSOperationQueue看作一个线程池,可往线程池中添加操作(NSOperation)到队列中。线程池中的线程可看作消费者,从队列中取走操作,并执行它。你可以设置线程池中只有一个线程,这样,各个操作就可以认为是近似的顺序执行了。为什么说是近似呢,后面会做解释。编写最简单 阅读全文
摘要:
NSoperation也是多线程的一种,NSopertaion有2种形式 (1) 并发执行 并发执行你需要重载如下4个方法 //执行任务主函数,线程运行的入口函数 - (void)start //是否允许并发,返回YES,允许并发,返回NO不允许。默认返回NO -(BOOL)isConcurrent - (BOOL)isExecuting //是否已经完成,这个必须要重载,不然放在放在NSOperationQueue里的NSOpertaion不能正常释放。 - (BOOL)isFinished 比如TestNSOperation:NSoperaion 重载上述的4个方法, ... 阅读全文
摘要:
Block的一点优点为可以省略回调函数,简化代码今天我就应用了以下。以下是代码片段。[cpp]view plaincopy_testTextField1=[[MyTextFieldalloc]init];[self.viewaddSubview:_testTextField1];[_testTextField1release];_testTextField1.obj=self;_testTextField1.textField.placeholder=@"小于5的字符判断";_testTextField1.textField.font=[UIFontsystemFontOf 阅读全文
摘要:
vc 就是一种通过字符串去间接操作对象属性的机制,访问一个对象属性我们可以 person.age 也可以通过kvc的方式 [person valueForKey:@"age"]keypath 就是属性链式访问 如 person.address.street 有点象java里面的pojo ognl表达式子类的假如给出的字符串没有对象的属性 会访问valueForUndefineKey方法 默认实现是raise 一个异常 但你可以重写这个方法, setValue的时候也是一样的道理key path accounts.transactions.payee would return 阅读全文