晚上好男人的解析,建筑方法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