下载此文档

ios工程师面试题.docx


文档分类:管理/人力资源 | 页数:约9页 举报非法文档有奖
1/9
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/9 下载此文档
文档列表 文档介绍
谈谈你对多线程开发的理解?iOS中有几种实现多线程的方法?
好处:1、使用线程可以把程序中占据时间长的任务放到后台去处理,如图片、视频的下载2、发挥多核处理器的优势,并发执行让系统运行的更快、更流畅,用户体验更好缺点:1、大量的线程降低代码的可读性,2、更多的线程需要更多的内存空间3、当多个线程对同一个资源出现争夺的时候要注意线程安全的问题。iOS有三种多线程编程的技术:1、NSThread(两种创建方式)[NSThread detachNewThreadSelector:***@selector(doSomething:) toTarget:self withObject:nil];NSThread *myThread = [[NSThread alloc] initWithTarget:self selector:***@selector(doSomething:) object:nil];
[myThread start];2、NSOperationQueue
NSOperationQueue *oprationQueue = [[NSOperationQueue alloc] init];
oprationQueue addOperationWithBlock:^{
//这个block语句块在子线程中执行
}
http://alloc./wp/?p=237
3、Grand Central Dispatch (GCD)
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
// 耗时的操作
dispatch_async(dispatch_get_main_queue(), ^{
// 更新界面
});
});
http://blog./totogo2010/article/details/8016129
PS:不显示的创建线程的方法:用NSObject的类方法 performSelectorInBackground:withObject: 创建一个线程:[Obj performSelectorInBackground:***@selector(doSomething) withObject:nil];
线程同步和异步的区别?IOS中如何实现多线程的同步?
同步:一个线程要等待上一个线程执行完之后才能执行当前的线程,生活中的例子(上厕所)。异步:同时去做两件或者多件事。比如边听歌边看报。原子操作(atomic)、加锁(NSLock
、NSRecursive、NSConditionLock)、***@synchronized GCD串行队列,GCD当中的屏障,NSOperationQueue设置最大并发数为1
参考(http://blog./lifengzhong/article/details/7487505)
iOS类是否可以多继承?如果没有,那可以用其他方法实现吗?简述实现过程。
不可以,可以通过消息转发、delegate和protocol和类别来实现类似多继承。
iOS本地数据存储都有哪几种方式?iOS如何实现复杂对象的存储?
NSKeyedArchiver(归档)采用归档的形式来保存数据,该数据对象需要遵

ios工程师面试题 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数9
  • 收藏数0 收藏
  • 顶次数0
  • 上传人771635255
  • 文件大小134 KB
  • 时间2018-05-08