这段代码有什么问题?
我知道这是一个愚蠢的谓词。但这只是为了表明如果这有效,应该过滤掉所有内容,对吗?
不知何故,它不是。我在我的数据库中获取了每个 Month 对象,而我应该什么都没有。
我想这告诉我问题可能不在谓词中?
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Month" inManagedObjectContext:managedObjectContext];
[fetchRequest setEntity:entity];
[fetchRequest setPredicate: [NSPredicate predicateWithFormat:@"1 == 0"]];
NSSortDescriptor *sortDescriptor1 = [[NSSortDescriptor alloc] initWithKey:@"month_" ascending:YES];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor1, nil];
[fetchRequest setSortDescriptors:sortDescriptors];
[fetchRequest setFetchBatchSize:20];
NSFetchedResultsController *theFetchedResultsController =
[[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest
managedObjectContext:managedObjectContext
sectionNameKeyPath:@"month_"
cacheName:@"Root"];
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return [[_fetchedResultsController sections] count];
}
我真正想做的是,
[NSPredicate predicateWithFormat:@"year.year_ == %d", year]
我也试过这个,
[NSPredicate predicateWithFormat:@"month_ == %d", 1]
只是看看它是否有效。但什么都没有。
编辑:
此时,无论我设置什么谓词,只要它是有效的、格式良好的谓词即可。它不抱怨,并得到我所有的对象。它只是不过滤任何东西。
我几乎使用 Apple 文档中的样板代码。
谁能帮我解决这个问题?
谢谢!