Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
向我的xdatamodel(iOS核心数据)添加许多属性_Ios_Cocoa_Core Data_Attributes - Fatal编程技术网

向我的xdatamodel(iOS核心数据)添加许多属性

向我的xdatamodel(iOS核心数据)添加许多属性,ios,cocoa,core-data,attributes,Ios,Cocoa,Core Data,Attributes,我有一个2000+的列表,几乎与我需要在.xcdatamodel文件中“导入”的“NSString”属性相同 如果我可以使用类似XML的文本编辑器(如.plist文件)打开xcdatamodel文件,我可以添加所有属性,但我找不到方法 我设法通过编程(使用)创建属性,但无法设置或获取属性的数据 该列表应如下所示: ["str_1_1"],["str_1_2"],["str_1_3"],...,["str_49_4"],["str_49_5"],... 是否有方法通过编程方式添加属性/设置并从属

我有一个2000+的列表,几乎与我需要在.xcdatamodel文件中“导入”的“NSString”属性相同

如果我可以使用类似XML的文本编辑器(如.plist文件)打开xcdatamodel文件,我可以添加所有属性,但我找不到方法

我设法通过编程(使用)创建属性,但无法设置或获取属性的数据

该列表应如下所示:

["str_1_1"],["str_1_2"],["str_1_3"],...,["str_49_4"],["str_49_5"],...
是否有方法通过编程方式添加属性/设置并从属性中获取数据

是否有一种方法可以静态添加所有可能的属性,而无需单击+按钮超过2000次?

您可以在任何文本编辑器中打开模型文件。如果您将该文件的文件兼容性设置为Xcode 4或更高版本,那么它甚至很容易编辑

model
Foo.xcdatamodel
实际上是一个目录。里面是一个名为
contents
的文件,它的格式很好,易于阅读。编辑那个。字符串属性将类似于:

<attribute name="stringAttribute" optional="YES" attributeType="String" syncable="YES"/>

在Xcode中添加一个或两个字符串属性,然后根据需要复制/编辑它们

几点注意:

  • 显然,语法正确是你的工作。这没有记录,但也不难理解。如果您最终得到一个无法编译的损坏的模型文件,那么您就错了
  • 首先退出Xcode可能是个好主意。如果在模型文件运行时编辑它,它可能不会异常,但您永远不会知道
  • 拥有2000多个字符串属性是非常可怕的,这意味着一个非常糟糕的数据模型。在编辑模型并添加所有这些之前,请仔细考虑是否有一个不太极端的解决方案。

为什么在以编程方式创建托管对象模型后无法设置或获取数据?可能是因为功能不全,但错误为+entityForName:无法在此模型中找到名为“entityname”的实体。。前面提到的图坦卡蒙也让我动态创建了实体。谢谢汤姆!我会检查一下,然后公布结果。2000+问题与使用整个HTML页面填充每个属性有关。其中有1189个,大约40种语言,因此有47560个HTML页面。所有的语言都是可选的安装,但我需要有足够的空间来安装它们。其次,核心数据对我来说是新的。我通常在Firebird和MySQL数据库上构建数据库结构,所以也许我会想到一个更好的解决方案。是的,对不起,“显示包内容”。我习惯于使用命令行方法,它看起来与任何其他目录一样。奇怪的问题:我设法将内容添加到
目录
文件中,但我仍然获得+entityForName:在此模型中找不到名为“entityname”的实体。。可能是我自己试图重新创建(删除>创建)这个.xcdatamodel包造成的。有什么想法吗/在我做了一些谷歌搜索之后,我会为此提出一个新问题。你已经回答了这个问题,@Tom;)。。。谢谢如果您能看一看,我将不胜感激:)