从获取的核心数据获取价值
问题描述:
感谢这个论坛上的精彩人物,我已经克服了我的大部分核心数据问题。从获取的核心数据获取价值
但是仍然存在,我确信这是一个简单的修复。
我有一个配方应用程序,负责解析XML文档并将数据放入核心数据。
然后我搜索该核心数据进行特定的配方,配料等
一切工作只有一个例外......我不能做我检索数据什么。
比如我搜索“茄子”的核心数据,并在该过程结束时得到这样的:
"<RecipeData: 0x6112a40> (entity: RecipeData; id: 0x6113880 <x-coredata:///RecipeData/tCDE9A0EE-DA3F-4BD0-AEF8-3C038586991D4> ; data: {\n ingredients = \"Eggplant|Cheese|Tomatoes|\";\n name = \"Eggplant Parm\";\n time = 40;\n})"
如何获得信息离开那里?我试图通过循环,而导致应用崩溃:
for (NSString* key in selectedRecipe) {
id value = [selectedRecipe objectForKey:key];
NSLog(@"IN LOOP: %@", value);
}
有什么建议?
谢谢你的时间。
答
您应该已经从你的模型中定义的RecipeData类,已设置的属性合成。包括它在文件中,然后你的地址,所取得的结果是这样的:
for (RecipeData *recipeData in yourFetchedResults) {
NSLog(@"The name is %@", recipeData.name);
NSLog(@"The ingredients are %@", recipeData.ingredients);
}
等。显然你会在地方yourFetchedResults的使用获取的成果的实际名称。
如果你不已经有RecipeData类中定义的,它很容易自动生成它:
在.xcdatamodel点击一次RecipeData 实体将其选中。
右键/在你的项目中的一个文件夹或一组您希望要创建的类,然后选择新建文件上控制点击。
从提供的模板中选择托管对象类并单击下一步。
选中您希望为其生成类的实体旁边的框,然后单击确定。
噗,你已经得到完整的类,属性已经合成。
答
核心数据,如果你从模型创建一个定义的“配方”类,你应该能够在属性/属性阅读像任何其他财产:
someRecipe.ingredients = "Eggplant";
你上面的代码不仅会如果selectedRecipe是字典,则工作。除此之外,我们需要看到您的实现:)
我发现这是一个良好的开端:
非常感谢!我知道这很简单。我有类,我只是不知道我可以用简单的点语法获得值。 – 2011-01-12 06:21:12