Я получаю это предупреждение в Xcode
предупреждение: попытка создать переменную USE_BLOCK_IN_FRAME с блоком
это не в кадре.
Xcode перенаправить меня на мой NSStream
_naturStream = [[NSInputStream alloc] initWithData:natur];
Это случайно, когда он делает эту ошибку, и мое приложение аварийно завершает работу, когда оно срабатывает. Кто-нибудь пробовал подобную проблему?
спасибо
EDIT
в приложении Delegate.h
@property (nonatomic, strong) NSInputStream *naturStream;
В приложении Delegate.m:
NSData *natur = [NSData dataWithContentsOfURL:[NSURL URLWithString:_locString]];
_naturStream = [[NSInputStream alloc] initWithData:natur];
[_naturStream open];
if (_naturStream) {
NSError *parseError = nil;
id jsonObject = [NSJSONSerialization JSONObjectWithStream:_naturStream options:NSJSONReadingAllowFragments error:&parseError];
if ([jsonObject respondsToSelector:@selector(objectForKey:)]) {
for (NSDictionary *natur in [jsonObject objectForKey:@"results"]) {
_poi = [[POI alloc]init];
[_poi setTitle:[natur objectForKey:@"title"]];
[_poi setLat:[[natur objectForKey:@"lat"]floatValue]];
[_poi setLon:[[natur objectForKey:@"lng"]floatValue]];
[_poi setDistance:[natur objectForKey:@"distance"]];
[_poi setWebUrl:[natur objectForKey:@"webpage"]];
[_naturArray addObject:_poi];
}
}
}
else {
NSLog(@"Failed to open stream.");
}
[_naturStream close];
}
Я понял, что забыл [_naturStream close]
Я не знаю, решил это проблему или нет?
EDIT
Другое дело, .... Я использую Thread для извлечения данных JSON:
dispatch_queue_t jsonParsingQueue = dispatch_queue_create("jsonParsingQueue", NULL);
// execute a task on that queue asynchronously
dispatch_async(jsonParsingQueue, ^{
[self parseJSON];
dispatch_async(dispatch_get_main_queue(), ^{
[_kortvisning updateAnno];
[visListe updateList];
});
});
// release the dispatch queue
dispatch_release(jsonParsingQueue);