我是应用程序开发的新手,正在学习如何为iOS创建应用程序。我对一些应用程序有一些想法,所有这些应用程序都是信息应用程序,几乎没有动态内容。
我坚持的是存储静态数据的最佳方法。我不想为每个页面创建单独的场景,因为这会弄乱我的故事板并且很难维护。
我已着手创建一个可以为我的内容提供服务的API。但由于我的内容很少或永远不会改变,因此我不希望每次应用启动时让用户创建网络请求。 然后,我研究了使用核心数据或Realm数据库,但我发现很难找到任何关于使用数据预填充数据库的文档,以便填充" as-we-go"。 我也考虑过两者兼而有之,但我也希望我的应用程序100%可脱机使用。
我真的很想找到该怎么做。理想情况下,我想使用核心数据并将应用程序与预填充的数据库一起发送。
我还应该提到我正在使用Swift。我希望你们能帮助我。
答案 0 :(得分:3)
理想情况下,我希望使用核心数据,并在预填充数据库的情况下发布应用程序。
答案 1 :(得分:3)
在简单的情况下,CoreData和Realm都可能有点矫枉过正。特别是如果您的数据是只读的并且没有问题地放入内存中,我会考虑将它们存储为捆绑到您的应用程序中的JSON文件。
这可以分三步完成:
将data.json
添加到您的项目中:
[
{"name": "John Doe", "age": 31},
{"name": "Jane Doe", "age": 25}
]
定义模型:
struct Person {
var name: String
var age: Int
}
加载数据:
import SwiftyJSON
func loadInitialData() -> [Person] {
let path = NSBundle.mainBundle().pathForResource("data", ofType: "json")!
let data = NSData(contentsOfFile: path)!
let json = JSON(data: data)
var persons = [Person]()
for (_, item) in json {
let name = item["name"].string!
let age = item["age"].int!
persons.append(Person(name: name, age: age))
}
return persons
}
注意:SwiftyJSON用于更好的JSON处理。