2013-07-05 78 views
0

我使用AFNetworking編寫RESTful客戶端。 然後使用JSONKit將響應數據解析到NSDictionary。如何使用RKObjectMapping作爲獨立庫

例子:

- (void)postPath:(NSString *)path 
    parameters:(NSDictionary *)parameters 
    success:(void (^)(AFHTTPRequestOperation *operation, id responseObject, NSDictionary* jsonDictionary))success 
    failure:(void (^)(AFHTTPRequestOperation *operation, NSError *error))failure 
    { 

    [self.client postPath:path parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) { 
     NSDictionary* jsonDictionary = [self.jsonDecoder objectWithData:responseObject]; 

     // do the object-mapping works    

     success(operation, responseObject, jsonDictionary); 
    } failure:^(AFHTTPRequestOperation *operation, NSError *error) { 
     failure(failure, error); 
    }]; 

}

如何使用RKObjectMapping的受益RESTKit作爲一個獨立的程序庫來實現對象映射? 在此先感謝。

+0

請具體說明您的問題以及您嘗試解決問題的方法。 – Wain

+0

我已更新我的問題。謝謝。 – shiami

回答

0

如果您使用RestKit,它會替換您當前的所有代碼。 RestKit構建於AFNetworking之上,因此您可以從RestKit發佈對象並將結果數據映射回該對象。這是否有用取決於您的POST的目的。如果您沒有使用AFJSONRequestOperation來使用RestKit,那麼您現在可以修剪一些內容。

一般情況下,這個問題可以歸結爲:

  1. 什麼是您發佈並期望得到
  2. 是多麼複雜的映射

如果映射」不是個數據t複雜,RestKit可能是矯枉過正。從你的代碼看起來你正在做一個簡單的帖子,以便應該沒問題(並且你會構建映射來更新你發佈的對象,即使沒有實際從該對象獲取數據來發出請求)。

+0

我知道RESTkit是建立在AFNetworking之上的。但是RESTkit對我來說太重了。但是我找不到比RESTKit好的對象映射庫。所以我只想使用RESTKit的對象映射優勢。 AFJSONRequestOperation不執行對象映射作業。 – shiami

+0

RestKit只在頂部添加映射,如果你想使用映射,那麼最簡單的方法就是直接使用RestKit,而不是嘗試自己下載,然後將這些數據推入RestKit(這是人爲設計的)。 – Wain