2014-10-03 64 views
0

獲取JSON數據,我將發佈我的代碼在這裏:無法在iOS版

的NSString *字符串= [的NSString stringWithFormat:@ 「https://api.fda.gov/drug/event.json?limit=25」];

NSLog(@"string:%@",string); 

NSURL *url=[NSURL URLWithString:string]; 

NSLog(@"url %@",url); 

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ 
NSData *data=[NSData dataWithContentsOfURL:url]; 

    NSLog(@"data:%@",data); 

    [self performSelectorOnMainThread:@selector(fetcheddata:) withObject:data waitUntilDone:YES]; 
}); 

- (空)fetcheddata:(NSData的*){}

上面的代碼爲我工作較早。我不知道發生了什麼,現在不工作。當我在瀏覽器中粘貼URL時,它正在工作。請在這種情況下指導我。它顯示我的數據參數爲零,異常爲NSInvalidArgumentException。

+0

您的代碼對我的作品,我總是在3秒鐘後像獲取數據。 – gabbler 2014-10-03 16:12:32

+0

我創建了新的項目,並再次在viewdidload中編寫代碼,但它仍然不適合我。我正在使用Xcode 6 iOS8。 – 2014-10-03 16:21:20

+0

我也使用Xcode 6和iOS 8,你能分享你的代碼嗎? – gabbler 2014-10-03 16:44:17

回答

0

更改以下行

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ 

dispatch_sync(dispatch_get_main_queue(), ^{ 
+0

它仍然無法正常工作。我感謝您的幫助。我認爲這不是因爲dispatch_async代碼行。 – 2014-10-03 16:09:35

+0

我認爲你需要在dispatch_synch中粘貼你的完整url代碼。請嘗試像這樣 – 2014-10-03 16:12:04

+0

順便說一下你的dispatch_async和我的區別是什麼? – 2014-10-03 18:23:42