1、偏好設置(NSUserDefaults)
創新互聯公司是一家專注于成都網站設計、網站建設與策劃設計,隰縣網站建設哪家好?創新互聯公司做網站,專注于網站建設十年,網設計領域的專業建站公司;建站業務涵蓋:隰縣等地區。隰縣做網站價格咨詢:18980820575
2、plist文件存儲
3、歸檔
4、SQLite
5、Core Data
我們首先需要了解下沙盒(Sandbox)
Application :存放程序源文件,上架前經過數字簽名,上架后不可修改
Documents : 保存應?運行時生成的需要持久化的數據,iTunes同步設備時會備份該目錄。例如,游戲應用可將游戲存檔保存在該目錄
tmp : 保存應?運行時所需的臨時數據,使?完畢后再將相應的文件從該目錄刪除。應用 沒有運行時,系統也可能會清除該目錄下的文件。iTunes同步設備時不會備份該目錄。
Library/Caches : 保存應用運行時?成的需要持久化的數據,iTunes同步設備時不會備份 該目錄。?一般存儲體積大、不需要備份的非重要數據,比如網絡數據緩存存儲到Caches下
Library/Preference : 保存應用的所有偏好設置,如iOS的Settings(設置) 應?會在該目錄中查找應?的設置信息。iTunes同步設備時會備份該目錄
NSUserDefaults是個單例類,用于存儲少量數據。NSUserDefaults實際上對plist文件操作的封裝,更方便我們直接操作,一般用于存儲系統級別的偏好設置。比如我們經常將登錄后的用戶的一些設置通過NSUserDefaults存儲到plist文件中。
NSUserDefaults使用起來非常簡單,例如將用戶的賬號和密碼存儲起來:
1、plist文件(屬性列表),通常用于儲存用戶設置,也可以用于存儲捆綁的信息;
2、preference(偏好設置),常用于保存少量數據;
3、NSKeyedArchiver(歸檔),將內存中的對象實例保存成binary到磁盤并且可以逆向這個過程用來保存用戶操作狀態等;
4、SQLite 3,使用數據庫進行存儲;
5、CoreData,它提供了對象-關系映射(ORM)的功能,即能夠將OC對象轉化成數據,保存在SQLite數據庫文件中,也能夠將保存在數據庫中的數據還原成OC對象。
對于數據的持久化存儲,ios中一般提供了4種不同的機制。
1.屬性列表
2.對象歸檔
3.數據庫存儲(SQLite3)
4.蘋果公司提供的持久性工具Core
Data。
其實儲存的形式無非就這么幾種,而我們還必須要關心的是,這些文件會被放置在那個文件下,然后如何讀取。
也就是說:IOS上數據存儲,我們要了解的兩點,數據存儲格式(也就是存儲機制),數據存儲位置。
1》文件如何存儲(如上面4點)
2》文件存儲在哪里。
對于數據的操作,其實我們關心的是操作的速率。
就好比在Adnroid中偏好存儲,數據庫存儲,io存儲一樣。
1.plist文件(屬性列表)
2.preference(偏好設置)
3.NSKeyedArchiver(歸檔)
4.SQLite 3
5.CoreData
偏好設置是專門用來保存應用程序的配置信息的,一般不要在偏好設置中保存其他數據。
如果沒有調用synchronize方法,系統會根據I/O情況不定時刻地保存到文件中。所以如果需要立即寫入文件的就必須調用synchronize方法。
偏好設置會將所有數據保存到同一個文件中。即preference目錄下的一個以此應用包名來命名的plist文件。
NSUserDefaults適合存儲輕量級的本地數據,如登陸界面的數據,用戶名、密碼等用戶偏好設置類的數據。下次啟動應用的時候就可以直接從NSUserDefaults里面讀取上次運行的數據。
如果使用自己建立的plist文件什么的,需要自己顯式創建文件,讀取文件,很麻煩,而如果用NSUserDefaults則不用管這些,就像讀字典一樣,直接讀取數據就可以了,同時NSUserDefaults有緩存機制,可以避免頻繁讀寫文件。
NSUserDefaults支持的數據格式有:NSNumber(BOOL、Integer、Float、Double),NSString,NSDate,NSArray,NSDictionary,NSData類型。
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
//添加preference
[defaults setObject:@"value1" forKey:@"key1"];
[defaults setObject:@1111 forKey:@"key2"];
[defaults synchronize];
//刪除preference
[defaults removeObjectForKey:@"key1"];
[defaults synchronize];
//修改preference
[defaults setObject:@"value2" forKey:@"key1"];
[defaults synchronize];
//刪除所有preference
NSString *appDomainStr = [[NSBundle mainBundle] bundleIdentifier];
[defaults removePersistentDomainForName:appDomainStr];
NSString *key1Value = [defaults objectForKey:@"key1"];
NSNumber *key2Value = [defaults objectForKey:@"key2"];
NSLog(@"偏好設置=%@=%@",key1Value,key2Value);
iOS數據持久化一般采用下面方式
1、NSUserDefaults
2、數據歸檔。
3、SQLite3
4、Core Data
5、文件
如果你的json數據量不大的話可以使用NSUserDefaults、文件存儲。數據量大就需要使用數據庫存儲。
網站名稱:ios開發數據持久化,ios開發數據持久化什么意思
網站網址:http://vcdvsql.cn/article14/dsdgpde.html
成都網站建設公司_創新互聯,為您提供網站建設、網站策劃、企業網站制作、品牌網站制作、手機網站建設、外貿建站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯