【发布时间】:2020-06-11 02:58:06
【问题描述】:
我在我的第一个视图控制器中有一个tableView,它已在其行中解析了本地 JSON 数据。此外,我的第二个视图控制器中有一个UIViewController,它有 6 个文本字段和保存按钮。当在我的第二个视图控制器中按下保存按钮时,我想将 textFields 数据保存到我的第一个视图控制器的 tableView 中。如何保存此文本字段数据以显示在我的 tableView 中?
我尝试将文本字段数据写入我的本地 json 文件,如下所示:
func writeToJSON() {
let foo = Member(name: "Emre", age: 25, location: "Izmir", github: "emrdgrmnci", company: CompanyClass(position: "Software", years: 0))
do {
let data = try JSONSerialization.data(withJSONObject: foo, options: [])
if let documentDirectoryUrl = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first {
let fileUrl = documentDirectoryUrl.appendingPathComponent("company.json")
try data.write(to: fileUrl)
}
} catch {
print(error)
}
}
如果我使用 CoreData 保存我的 textfileds 数据并显示在我的另一个视图控制器的 tableView 行中会怎样。它们是否与我在 tableview 中的本地 json 文件数据混淆?
【问题讨论】:
-
您必须将本地 json 文件读入 coredata,然后将 coredata 中的数据显示到 tableview 中。然后将列表传递给您拥有文本字段的第二个 vc。使用传递的数据填充文本字段。当单击保存时,您必须将更改保存/更新到 coredata。当你回到第一个 vc 时,重新加载数据,以便它再次从 coredata 读取数据以更新 tableview 数据
-
实际上,当单击具有 6 个文本字段的视图控制器上的保存按钮时,我正在向表视图添加新成员。您是否有任何将 json 数据保存到核心数据的示例链接。首先,我应该将我的 json 数据保存到核心数据中,然后从核心数据中读取以填充我的表格视图。最后,还要将文本字段数据保存到我的核心数据中并显示在表格视图中,对吧?
-
是的。并且在搜索解析json并对coredata做crud操作时会得到多个来源
-
有很多方法,您可以使用
delegates或NotificationCenter或CoreData或singleton类来满足您的要求
标签: ios json swift uitableview core-data