我试着根据初始查询的心情预测我的coredate,所有的情绪都设置为8,我将从每秒0-7调用来更新表视图。
但我有
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Can't use in/contains operator with collection 8 (not a collection)'我应该使用other或其他操作符来进行谓词吗?
NSString* filter = @"%K CONTAINS[cd] %@";
NSPredicate *getMoodPred = [NSPredicate predicateWithFormat:filter, @"mood", mood];
NSLog(@"getmood %@",getMoodPred); //getmood mood CONTAINS[cd] "7"
NSArray *getMoodArray = [[VPPCoreData sharedInstance]allObjectsForEntity:@"Song" orderBy:Nil filteredBy:getMoodPred];发布于 2013-12-16 09:23:05
这可能意味着mood属性存储为数字,而不是字符串。“包含”只适用于字符串。以下谓词应该可以工作:
NSNumber *mood = @(7);
NSString *filter = @"%K == %@";
NSPredicate *getMoodPred = [NSPredicate predicateWithFormat:filter, @"mood", mood];以rhs上的NSNumber和==作为比较器。
https://stackoverflow.com/questions/20606453
复制相似问题