이것이 내 문제입니다. 제 서버에서 일부 JSON 퇴각으로 iOS를 구축하고 있습니다. 여기에 문제가 없습니다. 모두 정상적으로 작동합니다.iOS에서 대기열 및 그랜드 센트럴 디스패치를 사용하기위한 약간의 도움
문제는 내가이 프로그램을 실행할 때, 그것은 NSMutableArray
으로 결과를 분석하는 데 오랜 시간이 오래 걸릴 것입니다 : 이것은 당신이 볼 수 있듯이
2013-01-10 12:03:48.627 project[5917:907] <- time begin parser
2013-01-10 12:03:48.755 project[5917:907] <- time finish parser
2013-01-10 12:03:48.756 project[5917:907] <- time begin implement arrays
2013-01-10 12:03:58.522 project[5917:907] <- time finish implement array
는, 배열을 구현하는 것은 정말 인 로그를한다 길다.
나는 UI를 반응 적으로 만들기 위해 큐잉과 그랜드 센트럴 디스패치를 사용해야한다는 것을 알고 있지만 어떻게해야할지 모르겠다.
이 내 viewDidLoad
방법
- (void)viewDidLoad
{
[super viewDidLoad];
if debug
NSLog(@"<- time begin parser");
endif
NSString *URLStr = @"http://myJsonFile.json";
NSDictionary *myDictwithReturn = [TOCJSONParser awesomeParserWithStringOfYourJSONFile:URLStr]; //really cool parser, i can put it on gitHub if you want
NSArray *speakersArray = [myDictwithReturn objectForKey:@"speakers"];
myArray = [[NSMutableArray alloc]init];
NSLog(@"<- time finish parser");
NSLog(@"<- time begin implement arrays");
for (NSDictionary *myDict in speakersArray) {
_nextSpeaker = [[TOCSpk alloc]init];
[_nextSpeaker setName:[myDict objectForKey:@"name"]];
[_nextSpeaker setBusiness:[myDict objectForKey:@"business"]];
[_nextSpeaker setDesc:[myDict objectForKey:@"desc"]];
[_nextSpeaker setTwitter:[NSURL URLWithString:[myDict objectForKey:@"twitter"]]];
[_nextSpeaker setPicture:[_nextSpeaker retrieveImageFromServer:[myDict objectForKey:@"picture"]]];
[myArray addObject:_nextSpeaker];
}
NSLog(@"<- time finish implement array");
}
코드에 오류가있는 것 같습니다. 루프가 다음과 같아야합니다 : for (NSDictionary * myDict in speakersArray)? –
편집했지만, 여기는 pb가 아닙니다. 좀 더 명확하게 코드를 편집했습니다. –