IOS 的线程编程
16 August 2013
IOS下得delegate机制
尝试了几天IOS编程,觉得比较有特色的是他的线程编程易用性。其实和安卓中的界面线程特殊性相同,IOS也对线程编程做了很多工作。使得IOS下面的线程编写非常简单。
线程编程
//TODO 增加安卓主线程限制。
IOS 相较于安卓的线程编程提供了很易用的api,但却没有关于“主线程”的种种限制。IOS中主线程仍可以进行网络通信,甚至等待。但是我们写程序时候依然应注意,应在子线程中进行网络通信。
启动线程
有三种启动线程的方式: - 直接调用
直接调用:
[myObj performSelectorInBackground:@selector(myThreadMainMethod) withObject:nil];
这种方式直接将selector(被调用的线程线程程序)放入“后台线程”。
需要注意的是后台线程只有单独线程。两次调用此函数,如果前一个函数没有运行完,后面不会运行。
在xcode中(亦可能是ios版本的问题),有可能@selector不能被解析导致编译不过去。可以通过:来运行时加载selector。
//TODO dynamic add selector
- NSThread调用
这种调用更加灵活,可以配置单独的子线程运行程序。
线程通信
IOS编程是严格依照MVC模式进行的。
blog comments powered by Disqus