Цель состоит в том, чтобы иметь класс одноэлементного контроллера данных с именем FetchData.h / .m, который извлекает данные с помощью ObjectiveFlickr (https://github.com/lukhnos/objectiveflickr).
FetchData.m захватывает данные с этим:
OFFlickrAPIContext *context = [[OFFlickrAPIContext alloc] initWithAPIKey:YOUR_KEY sharedSecret:YOUR_SHARED_SECRET];
OFFlickrAPIRequest *request = [[OFFlickrAPIRequest alloc] initWithAPIContext:context];
// set the delegate, here we assume it's the controller that's creating the request object
[request setDelegate:self];
[request callAPIMethodWithGET:@"flickr.photos.getRecent" arguments:[NSDictionary dictionaryWithObjectsAndKeys:@"1", @"per_page", nil]]
, а затем реализовать следующий делегат:
- (void)flickrAPIRequest:(OFFlickrAPIRequest *)inRequest didCompleteWithResponse:(NSDictionary *)inResponseDictionary;
В настоящее время у меня есть этот код для сохранения NSDictionary в виде списка свойств в файл в качестве альтернативы одиночному:
- (void)flickrAPIRequest:(OFFlickrAPIRequest *)inRequest didCompleteWithResponse: (NSDictionary *)inResponseDictionary{
if([inResponseDictionary writeToFile:@"inResponseDictionary.xml" atomically:TRUE])
{
NSLog(@"%@", [[NSFileManager defaultManager] fileExistsAtPath:@"inResponseDictionary.xml"]);
}
}
Когда я читаю этот файл обратно, я получаю Null. Файл читается как таковой:
NSDictionary *inResponseDictionary = [NSDictionary dictionaryWithContentsOfFile:@"inResponseDictionary.xml"];
NSDictionary *photoDict = [[inResponseDictionary valueForKeyPath:@"photos.photo"] objectAtIndex:0];
NSLog(@"%@", [photoDict count]);
Есть ли лучший способ сохранить эти данные из ObjectiveFlickr, чтобы к ним могли обращаться другие классы и контроллеры представления? Или есть лучший способ реализовать это в View Controller.