0

私はrestkitをうまく起動し、従来のloadobjectsatresourcepath:delegate:メソッドを使用してオブジェクトをロードできるようです。ただし、block:^ {}を導入すると、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'

この問題を解決する方法について何か考えはありますか?ありがとう!

4

1 に答える 1

1

例外は、問題が何であるかを正確に示します。RKObjectManagerに応答しませんloadObjectsAtResourcePath:delegate:block:。APIドキュメントをひと目見ると、元のメソッドが0.10.0に存在しなくなり、loadObjectsAtResourcePath:usingBlock:に置き換えられたように見えることがわかります。

新しいメソッドを使用することで、例外を回避できるはずです。

[[RKObjectManager sharedManager] loadObjectsAtResourcePath:@"/api/v1/places" usingBlock:^(RKObjectLoader* loader) {
    loader.objectMapping = [[RKObjectManager sharedManager].mappingProvider objectMappingForClass:[Place class]];
}];
于 2012-05-13T03:02:01.283 に答える