【发布时间】:2020-07-21 15:01:42
【问题描述】:
我有一个最终是数据库程序的应用程序。目前,我正在使用“元素”对象的 NSMutableArray,它具有几十个预定义属性和一个属性,该属性是用于用户定义属性(在运行时定义)的可变字典。
为此,我使用valueForUndefinedKey:,它会在“用户字段”可变字典中进行查找。这一切都运行良好,并允许我基于内置属性和用户定义的属性构建谓词。
我正在考虑将其移至 Core Data,但无法确定允许用户定义属性(Core Data 中的属性)的方法。我可以创建一个可转换的属性,它是一个用户可以向其中添加键/值的字典,但无法搜索它。
我还认为我的内置属性/属性可以在 Core Data 中完成,然后一个单独的非 Core Data 数组可以为我的用户定义字段保存字典(基本上和现在一样)。这会很好用吗?
我有一个 NSTableView,它必须显示来自内置字段和用户定义字段(使用绑定)的列,我还需要能够构建包含这两种类型的谓词。
例如,我的元素是“人”,内置属性是姓名、生日、电话号码等,然后用户可以向这些元素添加字段,例如“品牌、型号、信用评分”等。
当我的应用程序必须允许创建用户定义的字段/属性/属性,同时仍使它们可以使用用户构建的谓词进行搜索时,我不确定 Core Data 是否适合此。
【问题讨论】: