Я использую класс singleton для извлечения JSON с удаленного сервера (через NSURLConnection) - все кажется прекрасным, если только я не пытаюсь разобрать JSON с помощью JSONKit.JSONKIT Parsing Error
Вот код
-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
[apiData appendData:data];
}
-(void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error
{
NSLog(@"Connection failed! Error - %@ %@",
[error localizedDescription],
[[error userInfo] objectForKey:NSURLErrorFailingURLStringErrorKey]);
}
-(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
{
NSHTTPURLResponse *realResponse = (NSHTTPURLResponse *)response;
if (realResponse.statusCode == 200)
{
apiData = [[NSMutableData alloc] init];
} else {
NSLog(@"Bad response = %i",realResponse.statusCode);
}
}
-(void)connectionDidFinishLoading:(NSURLConnection *)connection
{
NSString *jsonData = [[NSString alloc] initWithData:apiData encoding:NSUTF8StringEncoding];
NSDictionary *deserializedData = [jsonData objectFromJSONString];
[self.delegate dataLoaded:deserializedData];
}
Ошибки я получаю на этой линии
NSDictionary *deserializedData = [jsonData objectFromJSONString];
-[__NSCFString objectFromJSONString]: unrecognized selector sent to instance 0x7fc1cd0
Любые идеи, что здесь происходит? Кажется, это обычный способ разбора JSON с использованием JsonKit.
Я уже убедился, что JSON действительно ... Строка повреждена каким-то образом во время добавления в didReceiveResponse?
Возможный дубликат [objectFromJSONString сбой при запуске приложения, использующего Simperium] (http://stackoverflow.com/questions/10478030/objectfromjsonstring-crash-when-launching-app-that-uses-simperium) –
У меня уже есть - ObjC в других флагах компоновщика –
Выяснил это ... У меня был JSONKIt.h, включенный в проект, но по какой-то странной причине JSONKit.m не был включен в «Источники компиляции» в разделе «Сборка фаз» - как только я добавил он вручную начал работать нормально. –