回答
假设你的应用程序有一个很大的常量,就像世界上所有国家按字母顺序排列的名字一样。这是一串字符串。你将如何创造这个常数?
一种方法可能是在代码中键入整个数组,一个非常大的数组。
将此文件配置为.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. 如何在android中使用plist?
- 4. 如何使用字典一个的plist
- 5. 如何以编程方式使用plist?
- 6. 如何使用restlet api返回plist
- 7. 使用Java创建plist
- 8. 使用Zwoptex - 获取Plist
- 9. Swift - 使用创建的plist
- 10. 在运行时提取plist
- 11. 如何从plist中
- 12. 二元plist vs普通plist
- 13. Plist writeToFile覆盖整个plist
- 14. 使用MonoTouch读取plist文件
- 15. UIKit - 使用Plist来检索图像
- 16. 使用plist来加载UITableView的内容
- 17. 使用.plist的cocos2d-x sprite动画
- 18. 使用shell脚本编辑plist文件
- 19. 我应该使用plist,SQLite还是NsMutableArray?
- 20. 在iPhone编程使用的plist
- 21. 麻烦的plist文件使用SWIFT
- 22. 使用plist作为交换格式
- 23. 使用位于文档目录的plist
- 24. iPhone表格视图,使用NSDictionary&plist
- 25. 使用plist填充分组表
- 26. 使用Automator/AppleScript/Perl创建Plist
- 27. 使用NSDictionary对象写入plist文件
- 28. 使用分组数据本地化plist
- 29. plist有什么用?
- 30. info-plist的作用
“我知道plist是做什么的”它是做什么的? – matt
它将数据存储在词典类型的根目录中......当我创建swift项目时,它带有信息。plist,它只是存储版本信息,基本故事板等。 –
plists用于应用程序相关的东西,如你已经提到的info.plist,它告诉操作系统有关你的应用程序的重要事情。它在其他地方用于首选项包设置,我认为NSDefaults使用plists。 plist类似于其他操作系统上无处不在的'.ini'文件,您是否希望使用plists来存储用户数据或元数据取决于数据的复杂程度,许多应用程序都需要更复杂的数据持久性,即NSCoder或核心数据。 – joeybladb