ios - NSFetchRequest 从 Core Data iOS 返回错误

标签 ios iphone objective-c

我正在尝试在下面的代码中获取 stateName 并将其显示在标签中。但它总是返回错误。

-(NSArray *) getStateNameFromCode :(NSString *) stateCode
{
    NSManagedObjectContext *objectContext = [self managedObjectContext ];
    NSEntityDescription *entity = [NSEntityDescription entityForName:ENTITY_STATES inManagedObjectContext:objectContext];
    NSPredicate *predicate = [NSPredicate predicateWithFormat:@"%K == %@", COLUMN_STATE_CODE, stateCode];
    NSLog(@"Predicate : %@" ,predicate);
    NSFetchRequest *fetchRequest = [[ NSFetchRequest alloc]init];

    [fetchRequest setEntity:entity];
    [fetchRequest setPredicate:predicate];

    NSArray *stateName  = [objectContext executeFetchRequest:fetchRequest error:Nil];
    if (stateName.count > 0)
    {
        return [stateName objectAtIndex:0];

    }

    return  nil ;

}

 self.labelTeams.text = [NSString stringWithFormat:@"%@\n" ,
                            [sharedController getStateNameFromCode:_checklist.stateHomeTeam]]
                            ;

输出:

 <States: 0xa571560> (entity: States; id: 0xa565300 <x-coredata://D6B54D51-4556-41E1-A372-F39EB871A076/States/p8> ; data: <fault>)

尝试使用 setreturnsobjectsasfaults=NO 但这不起作用。发现了很多链接,大多数都说使用 setreturnsobjectsasfaults 。我杀了我的布赖恩。 任何想法将不胜感激。

问候,

最佳答案

试试这个,

//return state name as NSString (assumes state name is string type)
-(NSString *) getStateNameFromCode :(NSString *) stateCode
{
    ....

    NSArray *states  = [objectContext executeFetchRequest:fetchRequest error:Nil];
    if (states.count > 0)
    {
        //Matched state object
        NSManagedObject *state = [states objectAtIndex:0];
        //or States *state = [states objectAtIndex:0];, if States is the NSManagedObject subclass name
        return //return name of state from state object, like state.name

    }

    return  nil ;

}

 self.labelTeams.text = [NSString stringWithFormat:@"%@\n" ,
                            [sharedController getStateNameFromCode:_checklist.stateHomeTeam]]
                            ;

关于ios - NSFetchRequest 从 Core Data iOS 返回错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22655486/

相关文章:

ios - Swift AppDelegate 应用程序 :didFinishLaunchingWithOptions error

ios - 我正在尝试使用 Swift 开始编程,但出现代码签名错误

ios - "Cannot assign image to *UIImageView*"SWIFT 错误(iOS)

ios - iOS 7/iOS 8 中的不同 View 外观

ios - 当对象在ios中执行方法时,是否有发布通知的解决方案

Objective-C + 发布对象

iphone - 在 iPhone 顶级异常处理程序中显示警报

ios - 无法将 NSAttributedString.DocumentAttributeKey 类型的值转换为 .DocumentReadingOptionKey

iphone - 是否允许在单例类中为变量定义属性和综合?

iphone - 如何在AVAudioplayer中播放多个文件