我对Objective-C和XCode相当新,但是甚至比RestKit更新,尽管已经用Java编程了12年.
我有一个连接到RestKit的IOS应用程序和从休息服务器加载的操作仅在第一次工作,如果我回到导航控制器并再次尝试相同的操作,该loadObjectsAtResourcePath:delegate方法被调用,但没有任何委托方法得到调用(我实现所有这些只是为了记录它们发生时).
我觉得我已经错过了与Restkit一些基本的东西,也许它的异步性质,因为映射显然是做工精细的第一次,所以后续调用必须在异步队列中迷路.
我用谷歌搜索了这个,看到类似的人被类似的东西卡住了,但是尝试了所有这些并且似乎并没有什么不同.缓存被禁用,objectLoaderDidLoadUnexpectedResponse并且didFailWithError永远不会被调用,它会被丢弃到地板上.
代码来源:
我的XCode项目在这里上了github
执行加载调用的特定View Controller在这里(参见setUpRestKit方法)
调用顺序如下:
启用日志,这是我看到的模式,第一个调用完成时注释,第二个调用开始时等(为了清晰起见,时间戳被修剪):
ElasticSearchHeadIOS[25064:fb03] I restkit:RKLog.m:32 RestKit initialized...
ElasticSearchHeadIOS[25064:fb03] I restkit.support:RKCache.m:178 Invalidating cache at path: /Users/paulsmith/Library/Application Support/iPhone Simulator/5.1/Applications/BDB8B59F-8307-4F18-A4E7-C55849618D77/Library/Caches/RKClientRequestCache-localhost/SessionStore
ElasticSearchHeadIOS[25064:fb03] I restkit.network.reachability:RKReachabilityObserver.m:155 Reachability observer initialized with hostname localhost
ElasticSearchHeadIOS[25064:fb03] D restkit.network:RKClient.m:271 Reachability observer changed for client <RKClient: 0x80756e0>, suspending queue <RKRequestQueue: 0x8082600 name=(null) suspended=YES requestCount=0 loadingCount=0/5> until reachability …Run Code Online (Sandbox Code Playgroud)