Подождите, пока менеджер объектов RestKit завершит инициализацию - PullRequest
1 голос
/ 19 марта 2012

У меня есть класс с именем RestKitManager, который выполняет следующие действия:

+ (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.

Ответы [ 3 ]

0 голосов
/ 21 марта 2012

Вы видели этот учебник?http://mobile.tutsplus.com/tutorials/iphone/restkit_ios-sdk/

это было очень полезно для меня

0 голосов
/ 21 марта 2012

Оказывается, проблема снова в том, что я создал свой собственный MainWindow и не подключил AppDelegate к File's Owner, а также не установил File's Owner в класс UIApplication.После этого мои проблемы были решены.

0 голосов
/ 19 марта 2012

В моих проектах я слушаю RKReachabilityWasDeterminedNotification и затем продолжаю любую дальнейшую инициализацию, которая требует доступа к сети.Прослушайте это уведомление и обновите контроллер представления, когда он прибудет.

...