iOS面试题

  1. NSArray 和 NSMutableArray 的区别(线程方向)?
    NSArray是线程安全的, NSMutableArray是线程不安全的, 多线程中使用 需要 手动加锁 NSLock 或使用 @synchronized 修饰.
  2. Autorelease pool 实现原理?
    在ARC中使用 @@autoreleasepool修饰需要手动添加到释放池的代码.大概意思是autorelease pool 内部为一个双向链表, 每个链表元素为一个页,每个页是一个栈,详细的实现机制在这里,虽然不是很懂,感觉博主写的很好
  3. iOS沙盒机制
    默认情况下,每个沙盒含有3个文件夹:Documents, Library 和 tmp。因为应用的沙盒机制,应用只能在几个目录下读写文件
    Documents:苹果建议将程序中建立的或在程序中浏览到的文件数据保存在该目录下,iTunes备份和恢复的时候会包括此目录
    Library:存储程序的默认设置或其它状态信息;
    Library/Caches:存放缓存文件,iTunes不会备份此目录,此目录下文件不会在应用退出删除
    tmp:提供一个即时创建临时文件的地方。
    iTunes在与iPhone同步时,备份所有的Documents和Library文件。
    iPhone在重启时,会丢弃所有的tmp文件。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。