ios - 用户如何通过创建新属性向表添加新字段

标签 ios xcode core-data attributes

我是 Core Data 的新手,我在 xCode 项目的这一部分陷入困境。

我创建了一个核心数据实体“Person”,该实体具有以下属性:

  • 姓名;
  • 年龄;
  • 生日;
  • 地址;

并且此属性显示在表格 View 中。到目前为止一切顺利。

我的问题是,我希望表格有一个“添加字段”“添加行”单元格,这样当用户想要添加更多信息时对于这些已经创建的属性,他只需单击单元格并选择字段名称和类型。

例如,如果他希望在表的详细 View 中显示此人的“电话号码”,他将新字段命名为“电话号码”并选择其类型“数字”。然后他有一个额外的字段,可以在其中添加此人的电话号码。

如何在核心数据中执行此操作?用户是否可以手动向实体添加新属性并选择其格式?最好的方法是什么?谢谢。

最佳答案

您无法使用 Core Data 完全满足您的需求。除非您制作新版本的设计,否则核心数据无法更改结构,但您可以在 xcode 中执行此操作。

但是您可以轻松添加另一个名为 f.ex 的表。信息,它链接到个人单个连接,并让个人链接回多个信息表。

这样,您可以添加任意数量的字段和值,当然您添加的所有额外字段都将遵循同一个人,因此如果您想使用手机字段,则必须将其添加到所有字段和值。

我建议您使用直接 SQL,而不是使用 Core Data。 Core Data 不是一个数据库,它是一个对象存储,当你更好地进行 iOS 开发时,你就会明白其中的区别,它比你一开始想象的要大得多。

有一个优秀的 SQLite 高级库,称为 FMDB,您可以在 github 上找到它:https://github.com/ccgus/fmdb

在这里,您可以即时执行直接 SQL 查询,例如“Alter Table”等,尽管您所追求的并不是很简单,但这可能是一个真正有趣的项目。

祝你好运。

关于ios - 用户如何通过创建新属性向表添加新字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12590938/

相关文章:

objective-c - 按用户位置对 NSFetchedResultsController 结果进行排序

ios - 将更多对象提取到实体后核心数据关系丢失

ios - 核心数据崩溃:集合在枚举时发生了变异

ios - Xcode 7 无法从名为 "Brand Assets"的图像集中以编程方式访问启动图像

ios - 如何以编程方式截取可扩展uitableview的屏幕截图

iphone - UITableCellView 中的 UIButton 图像问题

ios - 在 Swift 中点击并按住 UIButton?

ios - Objective-c 为 iPhone 游戏制作关卡

ios - UIDocumentInteractionController 和来自网络的文件

ios - 关于 NetworkExtension iOS 9 的疑惑