我想在我的应用程序中存储电话号码列表。目前有53个,我想储存以下信息。Country
TollNumber
TollFreeNumber?
TollNumber2?
ISOCode
它不会经常更新,现在可能会手动更新,将来可能会由API更新。不需要持久存储。我通常只是把它插入[[String]]
数组或[[NSDictionary]]
数组,但我很想知道各种非持久性解决方案的优缺点。
例如,将其存储为XML或JSON格式是否有优点/缺点,尽管不需要持久性,但持久性解决方案是否值得考虑,是否有更适合处理静态数据集的Swift结构?
最佳答案
如果您对持久化给定信息的编辑(CRUD)不感兴趣,那么创建一个模型作为数据的表示(模板)将是一个不错的选择,例如:
// of course determining what's the data type of each property is up to you,
// or even giving them an initial value...
struct MyModel {
var country: String?
var tollNumber: String?
var TollFreeNumber: String?
var TollNumber2: String?
var ISOCode: String?
}
let containerArray = [MyModel(country: "country", tollNumber: "tollNumber", TollFreeNumber: "TollFreeNumber", TollNumber2: "TollNumber2", ISOCode: "ISOCode"),
MyModel(country: "country", tollNumber: "tollNumber", TollFreeNumber: "TollFreeNumber", TollNumber2: "TollNumber2", ISOCode: "ISOCode"),
MyModel(country: "country", tollNumber: "tollNumber", TollFreeNumber: "TollFreeNumber", TollNumber2: "TollNumber2", ISOCode: "ISOCode"), ...]
如果您需要从文件中读取给定的数据,我认为.plist文件是一个不错的选择,从最终用户的角度来看很容易使用,也可以检查这个Q&A。
尽管直接从struct实例读取数据(如第一种方法所述)应该更好(从速度上看),但是使用.plist文件的好处可能是易于编辑,您所要做的只是替换更新的文件,就这样!
备注:如果我们讨论的是少量的数据,那么速度问题几乎不会引起注意。
另外:如果您正在寻找一种机制来将数据持久化到您的应用程序中,您可能需要检查这个Q&A。
希望这有帮助。
关于ios - iOS非持久数据结构,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43293841/