从获取的核心数据获取价值

问题描述:

感谢这个论坛上的精彩人物,我已经克服了我的大部分核心数据问题。从获取的核心数据获取价值

但是仍然存在,我确信这是一个简单的修复。

我有一个配方应用程序,负责解析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类中定义的,它很容易自动生成它:

  1. 在.xcdatamodel点击一次RecipeData 实体将其选中。

  2. 右键/在你的项目中的一个文件夹或一组您希望要创建的类,然后选择新建文件上控制点击。

  3. 从提供的模板中选择托管对象类并单击下一步。

  4. 选中您希望为其生成类的实体旁边的框,然后单击确定。

噗,你已经得到完整的类,属性已经合成。

+0

非常感谢!我知道这很简单。我有类,我只是不知道我可以用简单的点语法获得值。 – 2011-01-12 06:21:12

核心数据,如果你从模型创建一个定义的“配方”类,你应该能够在属性/属性阅读像任何其他财产:

someRecipe.ingredients = "Eggplant"; 

你上面的代码不仅会如果selectedRecipe是字典,则工作。除此之外,我们需要看到您的实现:)

我发现这是一个良好的开端:

http://developer.apple.com/library/ios/#documentation/DataManagement/Conceptual/iPhoneCoreData01/Introduction/Introduction.html