转换Obj-C对象中的POPO对象

时间:2014-11-29 08:52:56

标签: php ios objective-c json reflection

我要问你一个问题!我正在研究一些案例来为App创建一个RESTFul WS。几天后,我决定开始用PHP开发它。我正在使用Abstract JsonSerializable 类来执行POPO对象。好吧,服务器端完成!! 现在我想自动化iOS侧构建iOS类符合POPO对象。然后,当iOS从连接接收数据时,我想反映数据以找到正确的类。我想一个像这样的过程:

NSData - > NSDictionary - >反思 - > POPO iOS类

嗯,反射步骤仍然有效,因为我真的不想分析所有的NSDictionary来找到正确的POPO。我不会做下面这样的事情......

if ([dictionary.firstObject isKindOfClass: [POPObject class]])
{
    POPObject *popo = [[POPObject alloc] initWithObj: dictionary.firstObject];
    return popo;
}

我不是这样做的,因为一些POPOObject将包含将包含其他POPObject的NSArray属性!所以,如果我详细说明一些递归的话,也许会更好...... 我会解释得很好。想想像这样的JSON:

{
  "firstFatherObj": {
    "firstObject": true,
    "secondObject": {
      "firstProperty" : true,
      "secondProperty": "Prop"
    }
  },
  "http-status": 200
}

这是一个示例示例,但是会有一些第二/第三/第四/等级别的子类,它会更昂贵而且非常繁重。有任何想法吗?谢谢!

添加

我正在考虑一些抽象的ResponseObject,他们将在iOS中组合更多的POPObject。所以,当我打电话给服务器时,我知道我将等待的响应。所以我要创建这个Abstract,然后我将它的解析内容委托给它相关的POPObject。 一个例子:我将向服务器询问有关已登录用户的一些信息。我没有检查所有的POPObject(肯定它们不是关于 USER ),但我实例化将解析JSON的 ResponseUser 对象,它将理解这是合适的类(例如:userPosts,userPreferences和其他..)。 你觉得怎么样?

0 个答案:

没有答案