iphone - 这两种方法对性能的影响相同还是不同?

标签 iphone objective-c ios performance core-data

我一直在开发 iPhone 应用程序,刚刚开始添加 CoreData 以实现持久性。然而我陷入了一个困境,

上下文:我有名为 Person 的实体,Person 实体有一个属性名称。

任务:更改 Person 对象的名称。(NSManagedObject)

性能测试:哪个选项在性能方面会更快更好?

选项 1:假设对象仅被创建一次

  1. 从 CoreData 获取对象
  2. 编辑对象名称
  3. 保存 NSManagedObjectContext。

选项 2:每次创建新对象。

  1. 删除之前创建的对象
  2. 创建新对象
  3. 保存 NSManagedObjectContext。

注意:我只有一个属性!姓名。想象一下我有一个游戏,用户被要求提供他们的玩家姓名。我知道对于这样一个小任务来说,性能不会有太大差异。但是如果我以后实现一些硬核的东西怎么办?那么对于防守来说,哪一个更好呢?

感谢您的任何意见!


我的想法:这两个选项在性能方面应该相似。由于获取数据以及更新和保存似乎与删除重新创建和保存类似。我希望有人证明我错了。

最佳答案

选项 1 更好,因为选项 2 很疯狂。

我还没有测试性能,但选项 2 似乎不太可能更快,因为创建对象会产生相关开销。但即使选项 2 稍微快一些,它作为一个过程也没有逻辑意义,因此它不是构建代码的好方法。如果它仍然是您所代表的同一个人,则用相同的对象来代表他们。任何其他的事情都会以意想不到的方式让你在赛道上感到头痛,因为你是从一个奇怪的安排开始的。 :)

关于iphone - 这两种方法对性能的影响相同还是不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8102248/

相关文章:

ios - 关于内存警告的问题

objective-c - "The operation couldn’ 尚未完成。仅将图像发送到 icloud 时出现“操作不允许”错误

ios - NSTimer() 可以不停地运行吗? (Xcode v 7.0.1, Swift 2.0)

ios - 修复 Leptonica 1.68 中的局部偏斜

ios - 检查编辑模式下是否双击

iphone - 如何将元素数组写入plist

objective-c - Objective C 中 iPhone 的自定义数字和字符键盘

iphone - 在 ScrollView 效果中显示带有动画的图像

ios - 自定义 UITableViewCell 填充了计时器?

ios - 通过 WP REST API 更新用户密码