2011-01-12 70 views
0

感謝這個論壇上的精彩人物,我已經克服了我的大部分核心數據問題。從獲取的核心數據獲取價值

但是仍然存在,我確信這是一個簡單的修復。

我有一個配方應用程序,負責解析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); 

    } 

有什麼建議?

謝謝你的時間。

回答

0

您應該已經從你的模型中定義的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