gpt4 book ai didi

cocoa - 核心数据: migrating entities with self-referential properties

转载 作者:行者123 更新时间:2023-12-03 17:29:52 24 4
gpt4 key购买 nike

我的核心数据模型包含一个实体 Shape,它具有两个自引用关系,这意味着四个属性。一对是一对多关系 (Shape.containedBy <->> Shape.contains),另一对是多对多关系 (Shape.nextShapes <<->> Shape.previousShapes)。这一切在应用程序中都运行得很好,所以我认为自引用关系一般来说不是一个问题。

但是,当将模型迁移到新版本时,Xcode 无法编译自动生成的映射模型,并显示以下错误消息:

2009-10-30 17:10:09.387 mapc[18619:607] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Unable to parse the format string "FUNCTION($manager ,'destinationInstancesForSourceRelationshipNamed:sourceInstances:' , 'contains' , $source.contains) == 1"'
*** Call stack at first throw:
(
0 CoreFoundation 0x00007fff80d735a4 __exceptionPreprocess + 180
1 libobjc.A.dylib 0x00007fff83f0a313 objc_exception_throw + 45
2 Foundation 0x00007fff819bc8d4 _qfqp2_performParsing + 8412
3 Foundation 0x00007fff819ba79d +[NSPredicate predicateWithFormat:arguments:] + 59
4 Foundation 0x00007fff81a482ef +[NSExpression expressionWithFormat:arguments:] + 68
5 Foundation 0x00007fff81a48843 +[NSExpression expressionWithFormat:] + 155
6 XDBase 0x0000000100038e94 -[XDDevRelationshipMapping valueExpressionAsString] + 260
7 XDBase 0x000000010003ae5c -[XDMappingCompilerSupport generateCompileResultForMappingModel:] + 2828
8 XDBase 0x000000010003b135 -[XDMappingCompilerSupport compileSourcePath:options:] + 309
9 mapc 0x0000000100001a1c 0x0 + 4294973980
10 mapc 0x0000000100001794 0x0 + 4294973332
)
terminate called after throwing an instance of 'NSException'
Command /Developer/usr/bin/mapc failed with exit code 6

“包含”是自引用属性之一的名称。不管怎样,真正的大问题是我什至无法查看这个映射属性,因为在查看映射模型时一旦选择实体映射,Xcode 就会崩溃。所以我有点迷失了从这里该去哪里。我真的无法删除自引用属性,所以我想我必须手动创建一个可以编译的映射模型?有什么想法吗?

干杯

最佳答案

好吧,看来“contains”可能是一个保留字,因此需要使用“#”进行转义。 The Apple docs关于迁移并没有具体提及它作为保留字,尽管他们也没有说明最终列表是什么。

但是,属性名称似乎不能与任何 NSObject 或 NSManagedObject 方法名称相同,例如“description”,并且显然“contains”。

关于cocoa - 核心数据: migrating entities with self-referential properties,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1651369/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com