fetchRequest问题

时间:2011-04-27 07:50:20

标签: iphone core-data

在核心数据中,我使用fetchRequest和谓词进行搜索,如下所示

NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription
             entityForName:@"Study"
    inManagedObjectContext:self.managedObjectContext];
[fetchRequest setEntity:entity];
[fetchRequest setPredicate:[NSPredicate predicateWithFormat:
                                @"( StudyID == %@ )",self.StudyID]];

NSArray * StudyList  = [self.managedObjectContext executeFetchRequest:fetchRequest error:&error];

如何检查是否有返回值

3 个答案:

答案 0 :(得分:1)

做类似的事情:

if(!StudyList){
    //handle fetch request error here
} else {
    //success! 
    if([StudyList count] > 0){ //if array not empty
        //do stuff with StudyList contents here
        NSLog(@"StudyList contents: %@", StudyList);
    }
}

希望有所帮助。

答案 1 :(得分:1)

您可以检查StudyList数组的大小:

if ([StudyList count]>0){
    //... found at least one Study object
}else{
    //... didn't find anything
}

顺便说一句,您应该遵循命名约定。像StudyList这样的变量应该从小写开始编写,即studyList。按照惯例,以大写字母开头的名称表示某种常数,例如:类,实体,常量等。

答案 2 :(得分:0)

请阅读该方法的文档:

  

如果发生错误,则返回nil。如果不   对象符合指定的条件   按请求,返回一个空数组。