我有2种NSManagedObject子类 - “Subject”和“TimeOfSchedule”。实体主题与TimeOfSchedule
相关联@property (nonatomic, retain) TimeOfSchedule *timeOfSubject;
在我的TableView中,我从数组填充单元格,我从Core Data中获取此数据
TimeOfSchedule *objectDate = [timesArray objectAtIndex:(long)indexPath.row];
但是如果有这样的TimeOfSchedule与Subject相关联,或者Subject与关系具有相同的对象,我想以另一种方式填充单元格。我怎么做这样的chek或验证?
答案 0 :(得分:2)
首先,从Core Data获取以填充数组不是一个好主意。您应该浏览NSFetchedResultsController
API并使用它。
其次,一旦检索了表视图单元的对象,就可以像检查Objective-C中是否存在任何其他对象一样进行检查。
if (objectDate.subject) {
// dequeue cell for displaying subject
}
else {
// dequeue cell for displaying only the date
}
答案 1 :(得分:0)
如果您不想在加载时填充数组,您可以随时调用数据库以查看是否有任何对象与另一个对象相关。
NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"Subject"];
request.predicate = [NSPredicate predicateWithFormat:@"timeOfSubject == %@",objectDate];
NSError *error;
NSArray *matches = [self.managedObjectContext executeFetchRequest:request error:&error];
if ([matches count]) { // Do Something;
} else { // Do Something Else
}
希望它有所帮助。