gpt4 book ai didi

ios - 在一对多关系中分配数据

转载 作者:行者123 更新时间:2023-11-29 10:43:57 25 4
gpt4 key购买 nike

我正在制作一个包含不同类型测验的 iOS 应用程序,所有问题和答案都存储在 CoreData 中。

我创建了两个实体,一个名为 QuestionData,它具有诸如“问题”、“answer1”(意思是答案选择 1)、“answer2”等属性,然后是另一个名为 的实体Quiz,具有“name”和“quizId”等属性,我在 Quiz 上创建了一个名为“dataData”的对多关系,它将引用所有问题/答案等。

当我创建一些测试数据(来试验关系)时,我首先创建了问题数据,然后为测验设置名称和 ID,然后我尝试像这样在关系中设置数据,

[quizInfo setValue:questionData forKey:@"quizData"];

应该在 Quiz 实体的 quizData 键中存储/设置所有问题/答案。然而,我遇到了这个 Not Acceptable 类型错误,告诉我它“需要”一个 NSSet,但我却给了它一个 QuestionData 类型。

'NSInvalidArgumentException', reason: 'Unacceptable type of value for to-many relationship: property = "quizData"; desired type = NSSet; given type = QuestionData; value = <QuestionData: 0x89447a0> (entity: QuestionData; id: 0x8919900 <x-coredata:///QuestionData/t6B583F60-5794-47FA-8A51-

我理解“集合”的概念,但是,我不确定在执行此操作时如何将 questionData 设为集合

[quizInfo setValue:questionData forKey:@"quizData"];

完整代码:

 NSManagedObjectContext *context = [self managedObjectContext];
QuestionData *questionData = [NSEntityDescription
insertNewObjectForEntityForName:@"Questiondata"
inManagedObjectContext:context];
[questionData setValue:@"do you like big basketballs" forKey:@"question"];
[questionData setValue:@"yes" forKey:@"answer1"];
[questionData setValue:@"no" forKey:@"answer2"];
[questionData setValue:@"maybe" forKey:@"answer3"];
[questionData setValue:@"maybe" forKey:@"correctAnswer"];

Quiz *quizInfo = [NSEntityDescription
insertNewObjectForEntityForName:@"Quiz"
inManagedObjectContext:context];
[quizInfo setValue:@"1" forKey:@"quizId"];
[quizInfo setValue:@"sportsquiz" forKey:@"name"];
[quizInfo setValue:questionData forKey:@"quizData"];

最佳答案

您需要将您的questionData 包装在一个集合中。由于此时你只有一个问题,你可以使用

[quizInfo setValue:[NSSet setWithObject:questionData] forKey:@"quizData"];

当您有多个问题时,您可以使用:

[quizInfo setValue:[NSSet setWithObjects:question1Data,question2Data,question3Data,nil] forKey:@"quizData"];

或者您可以将您的问题放入 NSMutableArray 并使用

[quizInfo setValue:[NSSet setWithArray:questionArray] forKey:@"quizData"];

关于ios - 在一对多关系中分配数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23123609/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com