我在弄清楚为什么这段代码运行缓慢时遇到了一些麻烦。我在下面做的是从 yahoo Finance 获取 4 家公司的 JSON 数据。从 JSON 数据中,我只是提取了 4 家公司的名称。然而,当我 NSLog 4 家公司的名称时,它需要将近 2 秒的时间!他们在代码中的某些东西我做错了吗?我怎样才能让代码运行得更快?
for (int i=0; i<4; i++) {
//download JSON data
NSData* data = [NSData dataWithContentsOfURL:
[NSURL URLWithString:@"http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.quotes%20where%20symbol%20in%20(%22AAPL%22,%22GOOG%22,%22GE%22,%22MCD%22)%0A%09%09&env=http%3A%2F%2Fdatatables.org%2Falltables.env&format=json"]];
//parse out the json data
NSError* error;
NSDictionary* json = [NSJSONSerialization
JSONObjectWithData:data //1
options:kNilOptions
error:&error];
//Get the relavent data from JSON
NSString* companyName = [[[[[json objectForKey:@"query"] objectForKey:@"results"] objectForKey:@"quote"] objectAtIndex:i] objectForKey:@"Name"] ;
NSLog(@"company name is %@", companyName);
}