iOS试题

作者: longMountain | 来源:发表于2019-04-26 09:19 被阅读0次

    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、如何打包静态库

    相关文章

      网友评论

          本文标题:iOS试题

          本文链接:https://www.haomeiwen.com/subject/rvwxnqtx.html