多くのjsonデータを返すWebメソッドがあります。データをフェッチする別のクラスがあります。このクラスでは、次のことを行います。
+ (NSDictionary *)executeGenkFetch:(NSString *)query
{
query = [NSString stringWithFormat:@"%@&format=json&nojsoncallback=1", query];
query = [query stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
// NSLog(@"[%@ %@] sent %@", NSStringFromClass([self class]), NSStringFromSelector(_cmd), query);
NSData *jsonData = [[NSString stringWithContentsOfURL:[NSURL URLWithString:query] encoding:NSUTF8StringEncoding error:nil] dataUsingEncoding:NSUTF8StringEncoding];
NSError *error = nil;
NSDictionary *results = jsonData ? [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableContainers|NSJSONReadingMutableLeaves error:&error] : nil;
if (error) NSLog(@"[%@ %@] JSON error: %@", NSStringFromClass([self class]), NSStringFromSelector(_cmd), error.localizedDescription);
// NSLog(@"[%@ %@] received %@", NSStringFromClass([self class]), NSStringFromSelector(_cmd), results);
return results;
}
+ (NSArray *)GetNieuws
{
NSString *request = [NSString stringWithFormat:@"http://www.krcTest.be/mobile/json/request/webmethod"];
return [[self executeGenkFetch:request] valueForKeyPath:@"news.title"];
}
これで、データを使用してNSLogを実行するためのボタンができました。ここに、ボタンの背後にあるアクションが表示されます。
- (IBAction)testFetch:(id)sender {
NSArray *nieuws;
nieuws = [GenkData GetNieuws];
NSLog(@"%@",nieuws);
}
私のログでは常にこれが表示されます。
2012-10-01 10:52:16.379 RacingGenk [13434:c07](null)
誰か助けてもらえますか?