回答
假設你的應用程序有一個很大的常量,就像世界上所有國家按字母順序排列的名字一樣。這是一串字符串。你將如何創造這個常數?
一種方法可能是在代碼中鍵入整個數組,一個非常大的數組。
將此文件配置爲.plist文件並在應用程序啓動時將文件讀入陣列可能會更容易。
因此,這是.plist文件的一種用法:它是以規範格式呈現數據的文本呈現,您需要在應用程序的生命週期中使用該數據。
當然,同樣的事情是相反的;您可以在應用程序運行時將一組字符串作爲.plist文件保存,以便在下次運行應用程序時再次讀取它。 (這實際上是UserDefaults的工作方式。)
將plist想象爲基於文件的Dictionary
(或NSDictionary
)的實現。你所擁有的是鍵值對,你可以將它們解析並用作邏輯的一部分。 如果您可能已經觀察到,每個項目中都會有一個Info.plist
文件。它存儲您可能要添加的不同配置的值。一個例子是NSAppTransportSecurity
一旦你的文件中的值,你可以使用它作爲:
var configDict: NSDictionary?
if let path = NSBundle.mainBundle().pathForResource("Config", ofType: "plist") {
configDict = NSDictionary(contentsOfFile: path)
}
if let dict = myDict {
// Use configDict here
}
請記住,你不只是侷限於隨附捆綁默認的Info.plist該項目。你也可以創建一個你自己的。考慮一下您在啓動時獲取多個配置的場景。您可以將它保存爲plist並稍後參考。
回答問題的第二部分時,如果以非常短的間隔執行讀取和寫入文件,看起來像是不必要的開銷。最好使用本地字典變量,然後以更長的時間間隔寫入,或者在確定已完成更改時寫入。 Plist更像是一種持久性存儲。因此,當應用程序進入後臺或用戶殺死應用程序時,您可以選擇寫入文件。
注意:請記住,plist本質上是文件系統中的普通文件。沒有什麼可以阻止某人閱讀(我知道沙盒)。這就是爲什麼明智的做法是不要將任何密碼存儲在plist中(也不在UserDefaults中)。
是的,但是使用plist作爲我的移動應用程序的數據庫是否合適?我嘗試了NSObject和Realm,但是效果不好.Plist確實適用於移動應用程序... –
問題之前已經用Swift標記過了,同時,這些標籤被編輯了,我馬上刪除了評論! –
我的不好,我把代碼改成了Swift。 – SagarU
當需要存儲少量持久數據時,移動器很方便。該API很簡單。不建議大plist文件。 Apple suggests less than a few hundred kilobytes.您不會使用plist來存儲用戶生成的數據,因爲隨着時間的推移,它們可能會超過此限制,僅將其用於您所控制大小的數據。
感謝您的來源。讚賞 –
如果它對您有幫助,您可以將答案標記爲正確 – SagarU
- 1. 如何使用的plist
- 2. 使用plist的webservices
- 3. 如何使用字典一個的plist
- 4. 如何以編程方式使用plist?
- 5. 如何使用restlet api返回plist
- 6. 如何使用plist填充UITableView
- 7. 如何在android中使用plist?
- 8. 使用Zwoptex - 獲取Plist
- 9. Swift - 使用創建的plist
- 10. 使用Java創建plist
- 11. Plist是空的,無法使用plist填充表格視圖
- 12. plist的好用
- 13. 如何使用launchd .plist文件守護使用grunt watch命令?
- 14. 如何從應用程序的plist中讀取plist
- 15. 在運行時提取plist
- 16. 在NSMutableArray中使用plist時獲取錯誤
- 17. 當* .url.com或*被添加到Plist時,IOS Plist白名單錯誤
- 18. 如何從plist中
- 19. 如何閱讀plist
- 20. 在應用程序啓動時將項目從另一位plist添加到plist
- 21. 二元plist vs普通plist
- 22. Plist writeToFile覆蓋整個plist
- 23. plist有什麼用?
- 24. info-plist的作用
- 25. 使用plist填充分組表
- 26. 使用Automator/AppleScript/Perl創建Plist
- 27. 使用位於文檔目錄的plist
- 28. 爲什麼蘋果使用.plist文件?
- 29. 無法使用plist填充數組
- 30. 使用plist來加載UITableView的內容
「我知道plist是做什麼的」它是做什麼的? – matt
它將數據存儲在詞典類型的根目錄中......當我創建swift項目時,它帶有信息。plist,它只是存儲版本信息,基本故事板等。 –
plists用於應用程序相關的東西,如你已經提到的info.plist,它告訴操作系統有關你的應用程序的重要事情。它在其他地方用於首選項包設置,我認爲NSDefaults使用plists。 plist類似於其他操作系統上無處不在的'.ini'文件,您是否希望使用plists來存儲用戶數據或元數據取決於數據的複雜程度,許多應用程序都需要更復雜的數據持久性,即NSCoder或核心數據。 – joeybladb