開發中存儲文件及配置的方式


1.write to方式保存到沙盒目錄下的documents文件夾下:

這種方式適合字符串數組的存儲。

//獲得當前程序的沙盒目錄路徑
NSString *path = NSHomeDirectory();
//拼接要保存的文件全路徑,這個方法會自動在@“Document...”前面加斜杠
path = [path stringByAppendingPathComponent:@"Documents/student.plist"];///從文件創建數組
NSArray *array = [NSArray arrayWithContentsOfFile:path];
//將內容寫入文件中
[mArray writeToFile:path atomically:YES];

2.NSUserDefaults的使用:(優點是不用關心存儲格式,存取操作很方便,用於存儲小的變量)(對同一個關鍵字賦值將會對數據重寫,舊數據被清理)

  創建一個user defaults

    NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];  

  添加數據到 user defaults:

        [ud setObject:nameField.text forKey:UserDefaultNameKey];

  也可以添加基本數據類型int, float, bool等,有相應得方法

        [ud setBool:YES forKey:UserDefaultBoolKey];

  從user defaults中獲取數據:

      [ud objectForKey:NCUserDefaultNameKey]

    [ud boolForKey: UserDefaultBoolKey];

  在程序進入后台執行或者有需要的時候進行

    [ud synchonize];

3.[NSBundle mainBundle]方式

  bundle是一個目錄,其中包含了程序會使用到的資源. 這些資源包含了如圖像,聲音,編譯好的代碼等等。我們的程序是一個bundle. 在Finder中,一個應用程序看上去和其他文件沒有什么區別. 但是實際上它是一個包含了nib文件,編譯代碼,以及其他資源的目錄. 我們把這個目錄叫做程序的main bundle。bundle可用於本地化。

  NSBundle *myBundle = [NSBundle mainBundle];//得到程序的main bundle

  NSBundle *goodBundle = [NSBundle bundleWithPath:@"~/.myApp/Good.bundle"];//從指定路徑來取得bundle

  //訪問bundle中的資源

  NSString *path = [goodBundle pathForImageResource:@"Mom"]; 

  NSImage *momPhoto = [[NSImage alloc] initWithContentsOfFile:path];

  //bundle中可以包含一個庫. 如果我們從庫得到一個class, bundle會連接庫,並查找該類:

  Class newClass = [goodBundle classNamed:@"Rover"];
  id newInstance = [[newClass alloc] init];

  如果不知到class名,也可以通過查找主要類來取得
  Class aClass = [goodBundle principalClass];
  id anInstance = [[aClass alloc] init];

4.數據庫


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM