gpt4 book ai didi

swift - 在 Swift 中将初始项插入 Core Data

转载 作者:行者123 更新时间:2023-11-30 13:18:41 27 4
gpt4 key购买 nike

我是 Swift 开发新手。我制作了 16 行的 tableView - 每个项目都有名称和价格。

当用户单击一行时,将显示一个新的 tableView(带有静态单元格)。用户可以编辑价格(我只需要价格可变)并保存。然后,显示具有新价格的原始 tableView。

但是当我停止并再次加载应用程序时,就会出现原始价格。

我发现我必须使用 Core Data 来永久存储数据。但我需要数据库填充这 16 行(安装后第一次加载),然后让用户永久更改价格(或直到再次更改)。

有可能吗?如何?我应该使用 Core Data 还是有更简单的选择?

最佳答案

到目前为止向您建议的几乎所有内容都比需要的更复杂。您谈论的是本地数据,而且是非常少量的数据。

最简单的选择是使用 plist。

如果您创建一个新文件,Xcode 可以提供帮助,请选择 Resource作为类型,然后 Property List 。创建后,默认情况下它将包含一个字典,但您可以将其转换为数组。添加您的数据,这样您就有了一个字典数组,其中包含您的价格等值。

现在,当您运行应用程序时,此文件将成为 bundle 的一部分,因此您无法编辑它。您应该通过使用 NSBundle 查找该文件来复制该文件。并用 NSFileManager 复制它进入文档文件夹。

一旦出现,您就可以使用 NSArray init?(contentsOfFile path: String)加载数据。使用mutableCopy创建一个可以编辑的版本。您可以使用此数组来驱动 TableView ,并且可以编辑它包含的值。请注意,通过这种简单的技术,数组中的字典将是不可变的,因此您最好使用 NSPropertyListSerialization class func propertyListWithData(_ data: NSData, options opt: NSPropertyListReadOptions, format format: UnsafeMutablePointer<NSPropertyListFormat>) throws -> AnyObject选项为 MutableContainersAndLeaves相反。

编辑完数组内容后,您可以将其写回到磁盘以供下次运行(使用 class func dataWithPropertyList(_ plist: AnyObject, format format: NSPropertyListFormat, options opt: NSPropertyListWriteOptions) throws -> NSData )

关于swift - 在 Swift 中将初始项插入 Core Data,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37974653/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com