晚上好男人的解析,建築方法HTTP通信和返回的JSON的iOS中
我的問題是更不是專門技術的工程/設計模式的辦法。
我正在開發一個應用程序,它需要與返回JSON對象的遠程API進行大量的交互。數據的檢索,解析和使用不是問題,並且工作非常順利。我希望爲這種情況下的最佳設計方法獲得一些指導。
我將解釋什麼我到目前爲止(在僞代碼和聲明),看看如果你能幫助:
一個HTTP提取程序類實施必要的NSURLConnection的委託方法。我初始化,象這樣的回調方法選擇類返回給調用類上完成
@implementation HTTPFetcher{ - (id)initWithUrlRequest:(NSURLRequest *)aRequest receiver:(id)aReceiver action:(SEL)aReceiverAction { //set the member variables etc.. } //all NSURLConnection delegate methods - (void)connectionDidFinishLoading... { [receiver performSelector:action withObject:self]; } }
然後我有一個Singleton HTTPController類調用HTTPFetcher:
- (void)postWithRequestString:(NSString *)aRequestString { [urlRequest setHTTPBody:[aRequestString dataUsingEncoding:NSUTF8StringEncoding]]; fetcher = [[HTTPFetcher alloc]initWithUrlRequest:urlRequest receiver:self action:@selector(receivedDataFromService:)]; [fetcher start]; } - (void)receivedDataFromService:(HTTPFetcher *)aFetcher{ //handle the received data and split the parent object into an NSMutableDictionary }
現在這種方法非常適合應用程序,特別是我需要建模的獨立實體(我基本上每個實體都有一個Singleton HTTPController)。
我的問題是在哪裏處理JSON的自定義分析。目前,我在ViewController中解析需要數據的地方,但是這太靠近源,需要進一步提取,但我不確定如何。
我應該包括促進Singleton類內解析的方法還是應該創建更多控制器來解析操作?
我期待着您的迴音
感謝
感謝您的回覆。 ASIHTTPRequest是一個非常好的電話 - 我在初次審查應用程序的構建時確實考慮過這一點,但客戶端規格減少了它提供的任何好處。此外,客戶不願在任何可能的地方包含第三方庫。很好的回答 - 謝謝你花時間。 – JordanMazurke