2013-06-13 122 views
0

我用下面的代碼通過coredata訪問JSON值,通過字典訪問值

NSManagedObjectContext *context = [[DataAccessLayer sharedInstance] managedObjectContext]; 
NSArray *existingResults = [context fetchObjectsForEntityName:NSStringFromClass([Serchtrial class]) withSortColumn:nil withSortDescending:FALSE withPredicate:nil]; 
NSLog(@"->%@",existingResults); 
Serchtrial *result; 
for(int i=0;i<[existingResults count];i++) 
{ 
    result=[existingResults objectAtIndex:i]; 
    [mydata setValue:result forKey:[NSString stringWithFormat:@"checka%d",i]]; 
} 
NSLog(@"mydata age%@",[mydata objectForKey:@"checka0"]); 

日誌返回結果如下

mydata age<Serchtrial: 0x8c80a10> (entity: Serchtrial; id: 0x8c81990 <x- coredata://39E99C99-5639-4C67-86D5-D9B97C79EDF2/Serchtrial/p2> ; data: { 
age = "18-25"; 
gender = Female; 
keywords = "AB-ve,o+ve"; 
"trial_Id" = 0; 
"trial_desc" = nil; 
}) 

但我想在單個詞典唯一的數據

data: { 
age = "18-25"; 
gender = Female; 
keywords = "AB-ve,o+ve"; 
"trial_Id" = 0; 
"trial_desc" = nil; 
} 

我應該在我的代碼中做出什麼改變,請幫助解決這個問題。

+0

你能解釋一下多一點嗎?現在你有一系列'Serchtrial'對象,爲什麼你需要用字典序列化它們? – Alladinian

+0

Serchtrial是一個coredata對象.. –

+0

是的,你的問題很清楚。但是,作爲一本字典你需要什麼_reason_?您可以像使用字典一樣訪問對象的任何屬性。 – Alladinian

回答

0

爲了使讀取請求返回字典,而不是管理對象的,你必須設置

[request setResultType:NSDictionaryResultType]; 

NSFetchRequest

+0

我應該在哪裏提及這個'[request setResultType:NSDictionaryResultType];' –

+0

@Globastechn:如果創建了獲取請求,可能在'fetchObjectsForEntityName:...'方法中。 - 這不是內置的核心數據方法,它來自哪裏? –

+0

@Globastechn:請讓我知道你是否需要更多信息。 –