ios - 何时使用谓词通过 prepare 方法传递 CoreData 对象

标签 ios swift xcode core-data

我有一个正在构建的 iOS 应用程序。我是第一次使用 CoreData,对将数据从一个 ViewController 传递到下一个有疑问。现在我在 VCa 中设置了一个 TableView ,当我点击一个单元格时,我想在 VCb 中获取该对象(人)的详细信息。我一直在考虑用两种不同的方式来做到这一点。

  1. 在 prepage 函数中传递 Persons 名称的引用。在 VCb 中,使用谓词从 CoreData 中取回那个人。在这里使用另一个获取请求是正确的解决方案。此应用中不会有大量数据,因此我认为执行另一个请求不会对系统造成太大负担,但我是 CoreData 的新手。

  2. 在 VCa 中捕获数据对象并通过准备函数将该对象传递给 VCb。这将使我不必在 VCb 中执行另一个获取请求,但似乎我可能会限制自己进行 future 的扩展。

同样,我是 CoreData 的新手,只是想了解一下哪种思维方法更好以及为什么。

最佳答案

永远不要获取您已经获取的对象。在您的案例 #1 中,您已经拥有了所需的对象,但是您会无缘无故地再次获取它。在你的情况下,这可能不是“非常费力”,但这只是意味着你可能没有无缘无故地重复大量工作尚未,但这仍然是一个糟糕的设计。无论如何——这是一个代表一个人的实体。您确定永远不会有超过一个人同名吗?

你的第二个想法在这里更好。

关于ios - 何时使用谓词通过 prepare 方法传递 CoreData 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41187143/

相关文章:

ios - 如何在 iOS 上使用平面表情符号

ios - 为什么 swift 这里使用结构体而不是字符串作为字典键?

json - SwiftyJSON 无法从 json 中获取值(value)

ios - 警告 : "Could not get traitsetID for iPhone11,6" (Assets. xcassets)

ios - Xcode Analyzer 警告 - 字典值不能为 nil

ios - NSTimer 每 30 秒运行一次,但总是在 xx :00sec or xx:30sec of a minute 上触发

ios - 以百分比形式为两个 UIView 指定约束

ios - 从教程制作简单的 HomeKit 应用程序并在附加 HMAccessory 时出错

xcode - 在 RestKit 中实现 RKReachabilityObserver 的最佳方式

javascript - 无法使用 Xcode 7.3 将 React Native 应用程序上传到 iTunes Connect