iOS   发布时间:2022-03-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了core-data – 使用属性搜索实体时的Core Data SubEntitiesByName大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图从核心数据中获取一个实体,具体取决于名为“name”属性.这是我的代码

NsmanagedObjectContext *context = [self managedObjectContext];



    NSEntityDescription *vegetable = [NSEntityDescription insertNewObjectForEntityForName:@"Vegetable" inManagedObjectContext:context];

    // get the vegetable using name

    NSFetchrequest *request = [[NSFetchrequest alloc] init];

    NSPreDicate *preDicate =
    [NSPreDicate preDicateWithFormat:@"name == %@",myGardenviewmodel.vegetable.name];

    [request setEntity:vegetable];
    [request setPreDicate:preDicate];

    NSError *error; 

    NSArray *fetchedObjects = [self.managedObjectContext executeFetchrequest:request error:&error];

最后一行抛出以下异常:

TerminaTing app due to uncaught exception 'NSInvalidArgumentexception',reason: '-[Vegetable subentitiesByName]: unrecognized SELEctor sent to instance 0x6bbcdd0'

有任何想法吗?

@H_696_17@解决方法
问题是您设置NSFetchrequest的实体属性的方式.使用insertNewObjectForEntity:您实际上是在稍后使用[managedObjectContext save:& error];创建一个要插入数据库新对象.

你想要做的是只为你的获取请求设置实体,而不是插入一个新对象

NSEntityDescription *vegetable = [NSEntityDescription entityForName:@"LOCATIOn" 
   inManagedObjectContext:self.managedObjectContext];

大佬总结

以上是大佬教程为你收集整理的core-data – 使用属性搜索实体时的Core Data SubEntitiesByName全部内容,希望文章能够帮你解决core-data – 使用属性搜索实体时的Core Data SubEntitiesByName所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。