gpt4 book ai didi

iphone - 将 NSManagedObjects 添加到一对多关系

转载 作者:搜寻专家 更新时间:2023-10-30 20:10:33 25 4
gpt4 key购买 nike

我有一对多的关系,例如一个学生有很多课。

为什么当我运行以下代码时 _classes 中没有新的 Cls 对象?然而,当我关闭应用程序并重新打开时,它确实如此。

作为后续问题,我如何在添加新类后立即获得新类列表?

NSMutableSet* classes = [student mutableSetValueForKey:@"classes"];
NSManagedObject* cls = [NSEntityDescription insertNewObjectForEntityForName:@"Cls" inManagedObjectContext:context];
[cls setValue:name forKey:@"name"];
[student addClassesObject:cls];

NSError* err;
[context save:&err];

NSMutableSet* _classes = [student mutableSetValueForKey:@"classes"];

这就是我的 addClassesObject: 操作的样子(由 XCode 自动生成)

- (void)addClassesObject:(Cls*)cls
{

}

谢谢!

最佳答案

您不能直接将对象添加到集合中。您需要使用 Core Data 生成的访问器或您自己的自定义访问器。查看您的 .h 文件,您应该会看到类似以下内容的内容

-(void)addClsObject:(Cls *)theObject;

-(void)addClsObjects:(NSSet *)set;

因此对于您的特定情况,一旦您拥有 Cls 对象,您将执行以下操作:

[student addClassesObject:cls];

然后执行保存,您应该能够检索类集。仅供引用,调用此方法和 relatd NSSet relatd 方法也会为您设置反向关系。

祝你好运

T

关于iphone - 将 NSManagedObjects 添加到一对多关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10989983/

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