我想在我的应用程序中存储电话号码列表。目前有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/

10-13 03:52