我有以下设计模式查询问题。我有一个PHP的Web服务,我想从中执行,登录授权和SQL操作,一些使用NSDictionary响应,一些使用BOOL响应。iOS网络API设计模式想法?
我有设计模式的搜索和打击这样的:Best architectural approaches for building iOS networking applications (REST clients)
现在虽然这个职位是非常有趣的,我不认为我需要什么那么复杂。我已经开始与一个单独的对象为assetDBConnection(这是在下面的代码self.delegate],但我不知道这是否是最好的主意。
我能想到有我assetDBConnection抽象的唯一途径从我APIWebRetrieve数据检索走就是拉出来,从响应比较字符串。这意味着在PHP服务水平分为不同的类型,比如:type =“登录”分组的响应,等等等等。
-(void)APIWebRetrieveFinished:(APIWebRetrieve *)api
{
NSLog(@"api:%@",[api description]);
NSLog(@"%@",api.dataString);
NSError *error;
if (api.dataString) {
NSDictionary *results=[NSJSONSerialization JSONObjectWithData:[api.dataString dataUsingEncoding:NSStringEncodingConversionAllowLossy]
options:NSJSONReadingMutableContainers
error:&error];
if ([[results objectForKey:@"type"] isEqualToString:@"logon"]){
if ([results objectForKey:@"response"]){
[self.delegate loginOK];
}else{
[self.delegate loginFail];
}
}
}
}
任何帮助赞赏。
更新: 好吧,这一定很沉闷。没有任何反应。我已经开始在服务中添加另一个层。我很喜欢这样的事实,我现在有这样的代码弹出:
#import "AssetDBConnection.h"
#import "AssetDBServiceLogon.h"
@implementation AssetDBConnection
-(BOOL)loginWithUsername:(NSString*)user andPassword:(NSString*)password
{
[AssetDBService logonWithUsername:user password:password andDelegate:self];
}
我只是希望这是朝着正确的方向!
** bold **我去的是一个APIWebRetrieve类,它执行Web调用并返回一个JSON对象给一个(微 –