2012-05-13 1 views
0

従来のloadobjectsatresourcepath:delegate:メソッドを使用して、restkitをうまく起動してオブジェクトをロードできるようです。しかし、ブロック:^ {}を導入すると、毎回restkitがクラッシュします。0.10.0にアップグレードした後にRestKitがクラッシュする

[[RKObjectManager sharedManager] loadObjectsAtResourcePath:@"/api/v1/places" delegate:self block:^(RKObjectLoader* loader) { 
    loader.objectMapping = [[RKObjectManager sharedManager].mappingProvider objectMappingForClass:[Place class]]; 
}]; 

私は、ログにこれを取得する:この問題を解決する方法について

2012-05-12 19:07:32.266 App - [RKObjectManagerloadObjectsAtResourcePath:delegate:block:]: unrecognized selector sent to instance 0x3aa2e0 
2012-05-12 19:07:32.268 App - *** Terminating app due to uncaught exception 'NSInvalidArgumentException', 
reason: '-[RKObjectManager loadObjectsAtResourcePath:delegate:block:]: unrecognized selector sent to instance 0x3aa2e0' 

任意の考え?ありがとう!

答えて

1

例外は、問題の内容を正確に示しています。RKObjectManagerloadObjectsAtResourcePath:delegate:block:に応答しません。 APIドキュメントを一見すると、the original methodは0.10.0に存在しなくなり、loadObjectsAtResourcePath:usingBlock:に置き換えられているようです。

あなたは新しいメソッドを使用して例外を回避することができるはずです。

[[RKObjectManager sharedManager] loadObjectsAtResourcePath:@"/api/v1/places" usingBlock:^(RKObjectLoader* loader) { 
    loader.objectMapping = [[RKObjectManager sharedManager].mappingProvider objectMappingForClass:[Place class]]; 
}]; 
+2

ありがとう!それは私が疑ったことです。これは私のためにとても混乱していました。そして、Xcodeが古いRestkitライブラリとリンクしていて、コード補完が正しく機能していないことがわかりました。派生したデータコンテンツを削除して再構築すると、すべて正常に動作します。 – chourobin

関連する問題