为什么我使用“image Title”作为Core Data实体的属性名称会收到警告?

时间:2011-04-10 20:18:12

标签: iphone xcode core-data

我使用“imageTitle”作为Core Data实体的属性名称在Xode 4中收到警告?在Xcode 3中没有警告......任何想法为什么?

确切的警告是:命名冲突:imageTitle与NSObject或NSManagedObject上已有的方法冲突

非常烦人的是,我收到了每个过去的模型版本的警告......
我知道如何摆脱过去模型版本的这些警告吗?

编辑:如果您使用具有CoreData支持的“基于导航的应用程序”创建新项目并仅添加属性“imageTitle”,则可以轻松重现此警告...

1 个答案:

答案 0 :(得分:2)

我无法回答为什么imageTitle是专门定位的。我唯一的猜测是它与某些内部方法或核心数据属性冲突。

过去,如果你有一个使用其中一个保留字的核心数据属性,Xcode会让你构建,你的项目会显示非常奇怪的行为。最常见的例子是“描述”。 Cocoa假设描述返回一个描述您的对象的NSString,通常用于记录。如果您有一个名为description的动态生成的核心数据属性,那么就会发生不好的事情。特别是如果它是数据或可转换的。

如果您尝试命名属性说明,则当前版本的Xcode会给出相同的错误对话框。

虽然这很烦人,但我强烈建议您将属性名称更改为其他内容,例如pictureTitle或imageTitleString。即使“imageTitle”在文档中没有得到很多点击,但它可能与内部的某些内容发生冲突。

作为最后的手段,请向Apple提交错误。它实际上可能只是Xcode中的一个错误。