У меня есть класс с именем RestKitManager
, который делает следующее:Дождитесь диспетчера RestKit объекта, чтобы закончить инициализации
+ (void)configureRestKit {
RKObjectManager *sharedManager = [RKObjectManager objectManagerWithBaseURL:baseURLString];
sharedManager.mappingProvider = [[IKObjectMappingProvider alloc] init];
sharedManager.serializationMIMEType = RKMIMETypeJSON;
sharedManager.router = [[IKObjectRouter alloc] init];
}
[RestKitManager configureRestKit]
называется в - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
.
Проблема в том, что в моем первом контроллере представления у меня есть вызов диспетчер объектов для загрузки файлов.
[[RKObjectManager sharedManager] loadObjectsAtResourcePath:@"/list/brand" objectMapping:[[RKObjectManager sharedManager].mappingProvider objectMappingForClass:[Brand class]] delegate:self];
NSLog(@"%@",[RKObjectManager sharedManager]);
и я получаю:
2012-03-18 20:04:37.252 iK9[3668:207] (null)
2012-03-18 20:04:37.258 iK9[3668:207] I restkit:RKLog.m:30 RestKit initialized...
2012-03-18 20:04:37.264 iK9[3668:207] I restkit.network.reachability:RKReachabilityObserver.m:369 Network availability has been determined for reachability observer <RKReachabilityObserver: 0x6ebb270 host=0.0.0.0 isReachabilityDetermined=YES isMonitoringLocalWiFi=620604 reachabilityFlags=-R -----l->
Итак, по существу, оказывается, что sharedManager
не закончил инициализацию, прежде чем я пытаюсь использовать его.
Как я могу заставить приложение ждать завершения инициализации? Я не знал, что эта инициализация выполняется в фоновом режиме в RestKit
. Это проект ARC.