【发布时间】:2014-04-18 17:17:24
【问题描述】:
为了了解 Core Data,我正在制作一个测验应用程序,但它不使用表格视图。我在应用程序中植入了两个测验的数据。当用户单击视图上的按钮时,我想获取一个测验,具体取决于他/她按下的按钮,但我不确定我可以为谓词输入什么
if ([sender.currentTitle isEqualToString:@"sports"]){
NSError *error;
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Quizdata"
inManagedObjectContext:self.managedObjectContext];
[fetchRequest setEntity:entity];
NSPredicate *predicate = [NSPredicate predicateWithFormat: @"(SELF = %@)", ????]; ///unsure what to put here
[fetchRequest setPredicate:predicate];
self.fetchedObjects = [self.managedObjectContext executeFetchRequest:fetchRequest error:&error];
NSLog(@"fetched object %@", fetchedObjects);
}else if ([sender.currentTitle isEqualToString:@"entertainment"]){
NSLog(@"entertainment%@", sender.currentTitle);
}
我有两个实体,例如 Quiz.h,我根据实体的属性为其创建了类
@dynamic quizId;
@dynamic name;
@dynamic quizData;
还有一个 QuizData.h 实体
@dynamic answer1;
@dynamic answer2;
@dynamic answer3;
@dynamic answer4;
@dynamic correctAnswer;
@dynamic question;
@dynamic score;
@dynamic unique;
@dynamic quiz;
我曾希望通过做类似于我在 Rails 中所做的事情来获取两个测验中的一个
Quizdata.where(quizId => 1)
是否可以仅以我的方式获取体育问题(即不使用表格视图)。我认为 tableView 可能很重要的原因是它会有对象 ID。我不知道如何让 CoreData 检索 quizId 1 的每个问题。
我以前用json导入过这样的数据
{ "question" : "Do you like basketball", "answer1": "yes", "answer2": "no", "answer3": "maybe", "answer4":"of course", "correctAnswer": "yes", "unique": "2", "name": "sportsquiz", "quizId": "1"},
然后用两个类插入保存
【问题讨论】: