iOS试题

iOS试题
1、沙盒中有几个文件夹,他们的区别是什么?
1、Documents:

应用程序将其数据存储在Documents中,但基于NSUserDefaults的首选项设置除外。

获取程序的Documents目录的代码是:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
则documentsDirectory中存储的就是Documents目录的地址,每个应用程序都只有一个Documents目录,所以获取paths数组中索引为0的目录。

2、Library:

Library目录包含两个子目录:Caches与Preferences,基于NSUserDefaults的首选项设置存储在Library/preferences文件夹中。

(1) 获取Library目录地址:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);
NSString *libraryDirectory = [paths objectAtIndex:0];
(2) 获取Caches目录地址:

NSArray paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
NSString
cachesDirectory = [paths objectAtIndex:0];
3、tmp:

tmp目录供应用程序存储临时文件。

获取tmp目录:

NSString *tempPath = NSTemporaryDirectory();
获取文件目录后,创建文件名的方法:

NSString *filename = [documentsDirectory stringByAppendingPathComponent:@"filename.txt"];

2、数据库或沙盒中如果文件过多,怎么提高查询效率?
3、什么情况下用autorelease,其原理是什么?
4、block容易造成野指针,如何发现?
5、一个界面如果有大量表单,表单中有各种选择类型,如何写UI?
6、大量页面使用背景图如何优化内存?
7、多线程什么情况下会造成死锁,请列举一个?
8、iOS中使用的各种数据持久化的区别?
9、ARC下会不会有内存泄漏?如何优化?
10、OC有么有多继承?
11、OC为什么会有Runtime?
12、约束有几种类型?
13、Documentary文件夹的操作需要注意什么?
14、如何打包静态库

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在目标检测领域,通常会对一个目标检测到多个候选框,此时需要根据多个候选框的重叠区域,将其重叠区域大于一定的阈值的候...
    myth_0c21阅读 654评论 0 1
  • 以前奶奶在世时总会说,没过十五还是年,就还得有过年的心情和气氛。 可是现在就连除夕夜和大年初一都变得一点都没有期待...
    凉久司阅读 208评论 0 2