美文网首页
iOS一般数据存储方法

iOS一般数据存储方法

作者: 罂粟之城 | 来源:发表于2019-08-01 12:55 被阅读0次
    • NSUserDefaults

    应用程序只需要保存程序参数、选项相关的少量数据使用。

    用户可以使用NSUserDefaults进行相关的参数设置即实现在应用程序中读取、保存应用程序参数,这是除来Settings Bundle设置参数的第二种方法。

        NSUserDefaults是一个单例类,每个应用程序只有一个NSUserDefaults对象。
        NSUserDefaults使用:
            1. NSUserDefaults *default=[NSUserDefaults standardUserDefaults];
            2. 然后点使用[default objectForKey:defaultName
                                    /setObject:value forKey:defaultName
                                    /setBool:value forKey:defaultName
                                    /setxxx:value forKey:defaultName
                                    /stringForKey:defaultName
                                    /xxxForKey:defaultName;
            3. 然后对更新的数据值进行保存:[defaults synchronize];
    

    最后就保存在来应用程序中的沙盒中了,就是进行了一点点的数据保存或者是参数的设置。

    • 属性列表

    应用程序只有少量数据需要保存。

    • SQLite轻量级的关系数据库

    专门用于资源有限的设备上,适量数据存取。iOS SDK很早就支持SQLite,在使用时只需要加入libsqlite3.dylib依赖以及导入sqlite3.h头文件即可,但是原生的SQLite在使用时非常不方便,所以后来开源社区出现了一系列将SQLite进行封装的库,而FMDB则是其中的优秀者。

    应用程序沙盒:

    应用程序的沙盒就是iOS应用程序只能在系统为该应用所分配的文件区域下读/写文件的这个区域。该应用的所有非代码文件都要保存在此,例如:图像、图标、声音、属性列表、文本文件等。

    打开模拟器沙盒目录:
         文件都在个人用户名文件夹下的一个隐藏文件夹里,中文叫资源库,它的目录其实是Library。
      方法1、可以设置显示隐藏文件,然后在Finder下直接打开。设置查看隐藏文件的方法如下:打开终端,输入命令:
            显示Mac隐藏文件的命令:defaults write com.apple.finder AppleShowAllFiles -bool true
            隐藏Mac隐藏文件的命令:defaults write com.apple.finder AppleShowAllFiles -bool false
            输完单击Enter键,退出终端。
        重新启动Finder就可以了 重启Finder:鼠标单击窗口左上角的苹果标志-->强制退出-->Finder-->现在能看到资源库文件夹了。
    打开资源库后找到/Application Support/iPhone Simulator/文件夹。这里面就是模拟器的各个程序的沙盒目录了。
    //
      方法2.或在Finder上点->前往->前往文件夹(cmd+shift+G),输入"/Users/用户名/Library/Application Support/iPhone Simulator/ "前往。
    

    获取应用程序沙盒各文件目录:

    #pragma mark - ---- get iOS-App some file path ----
    + (NSString *)getDocumentFilePath{
        return [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
    }
    + (NSString *)getLibraryFilPath{
        return [NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES) lastObject];
    }
    + (NSString *)getCacheFilePath{
        return [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject];
    }
    

    相关文章

      网友评论

          本文标题:iOS一般数据存储方法

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