我有NSURLConnectionDataDelegate的一個奇怪的問題。 我已經創建瞭解析json的類。 下面的代碼:Objective-C JSON解析不能在其他類中工作
- (void)createJSONDictionaryFromURL:(NSURL *)url
{
NSURLRequest *request = [NSURLRequest requestWithURL:url];
(void)[[NSURLConnection alloc] initWithRequest:request delegate:self];
}
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
{
jsonData = [[NSMutableData alloc] init];
}
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
[jsonData appendData:data];
}
- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error
{
NSLog(@"Fail with error");
}
- (void)connectionDidFinishLoading:(NSURLConnection *)connection
{
self.jsonDictionary = [NSJSONSerialization JSONObjectWithData:jsonData options:0 error:nil];
NSLog(@"%@", self.jsonDictionary);
}
在方法connectionDidFinishLoading,就是一切正確,控制檯顯示正確的數據。 但我想在我的ViewController的viewDidLoad方法中使用它。
JSONParser *parser = [[JSONParser alloc] init];
NSDictionary *dict = [[NSDictionary alloc] init];
[parser createJSONDictionaryFromURL:url];
dict = parser.jsonDictionary;
NSLog(@"%@", dict);
控制檯顯示(null),任何人都可以幫助我嗎?
對不起我的英文不好