我有一个名为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项目。
答案 0 :(得分:0)
在我的项目中,我会监听RKReachabilityWasDeterminedNotification
,然后继续进行需要网络访问的任何进一步初始化。收听此通知并在视图控制器到达时更新它。
答案 1 :(得分:0)
你看过这个教程吗? http://mobile.tutsplus.com/tutorials/iphone/restkit_ios-sdk/
对我来说非常有帮助
答案 2 :(得分:0)
事实证明问题再次发生,我创建了自己的MainWindow
并没有将AppDelegate
与File's Owner
相关联,也没有将File's Owner
设置为课堂UIApplication
。在这样做之后,我的问题得到了解决。