#ios #json #asynchronous
#iOS #json #асинхронный
Вопрос:
У меня проблема. Это мой код
#define kBgQueue dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)
-(void)saveJson
{
dispatch_async(kBgQueue, ^{
NSData* data = [NSData dataWithContentsOfURL:
kURL];
[self performSelectorOnMainThread:@selector(fetchedData:)
withObject:data waitUntilDone:YES];
});
}
- (void)fetchedData:(NSData *)responseData
{
NSDictionary *json = [NSJSONSerialization JSONObjectWithData:responseData options:kNilOptions error:nil];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = paths[0];
NSString *filePath = [documentsDirectory stringByAppendingPathComponent:@"Result.plist"];
NSLog(@"%@", filePath);
[json writeToFile:filePath atomically:YES];
}
Я могу получить json в переменной json, поэтому, если я добавлю журнал, я увижу json, файл тоже будет создан. Но когда я хочу просмотреть содержимое файла, этот список не содержит никакого значения, только тип xml apple. JSON хорошо сформирован, и я тестировал его с помощью простого приложения, но в этом случае словарь не сохраняется в файле. Этот класс находится в одном классе. Итак, в главном контроллере представления в методе viewDidLoad я использую это
MarketDataAPI *marketApi = [[MarketDataAPI alloc] init];
[marketApi updateMarketApi];