我有一個web服務,它按照以下順序返回數據。不把數據放在我的核心數據庫中
"club": {
-"trainingen": [
{
"date": "12/10/2012",
"training": [
{
"type": "Wedstrijd B-kern Bergen-KRC Genk",
"time": "19:30"
}
]
},
{
{
"date": "16/10/2012",
"training": [
{
"type": "Training",
"time": "10:00"
},
{
"type": "Training",
"time": "14:30"
}
]
},
},
在我的核心數據庫中我有一個實體培訓。具有屬性:日期,屬性:類型和屬性:時間。我創建了這個實體的一個子類和一個類來將它存儲到我的數據庫中。爲了獲得webservice url,我正在做以下事情。
+ (NSArray *)getTrainingen
{
NSString *request = [NSString stringWithFormat:@"http://www.krcgenk.be/mobile/json/request/club/type/ipad"];
return [[self executeGenkFetch:request] valueForKeyPath:@"club.trainingen"];
}
我在這個頂部定義了我的值。
#define TRAINING_TYPE @"training.type"
#define TRAINING_DATE @"date"
#define TRAINING_TIME @"training.time"
在我的分類中,我正在做以下工作。
+ (Training *)trainingWithGenkInfo:(NSDictionary *)genkInfo
inManagedObjectContext:(NSManagedObjectContext *)context
withIndex: (int)index;
{
Training *training = nil;
training = [NSEntityDescription insertNewObjectForEntityForName:@"Training"
inManagedObjectContext:context];
training.type = [[[genkInfo objectForKey:@"training"] objectAtIndex:index] objectForKey:@"type"];
training.time = [[[genkInfo objectForKey:@"training"] objectAtIndex:index] objectForKey:@"time"];
training.date = [genkInfo objectForKey:TRAINING_DATE];
NSLog(@"type: %@", training.type);
NSLog(@"time: %@", training.time);
return training;
}
但它一直給NSLog上面的(null)。
任何人都可以幫忙嗎?
親切的問候。
編輯 這也是更多鈔票可以有多於一個爲期一天的培訓。我試過這個,但得到一個錯誤。
int trainingIndex = -1;
for (NSDictionary *genkInfo in trainingen) {
trainingIndex++;
[Training trainingWithGenkInfo:genkInfo inManagedObjectContext:document.managedObjectContext withIndex:trainingIndex];
}
根據你的JSON,「訓練」是一個列表,而不是字典。我不知道你的代碼是否應該在這種情況下工作。 – ilmiacs