Php 在Obj-C对象中转换POPO对象

Php 在Obj-C对象中转换POPO对象,php,ios,objective-c,json,reflection,Php,Ios,Objective C,Json,Reflection,我得问你一个问题!我正在研究一些为应用程序创建RESTFul WS的案例。几天后,我决定开始用PHP开发它。我正在使用抽象的JsonSerializable类创建一个POPO对象。好了,服务器端完成了!! 现在我想自动化iOS端构建符合POPO对象的iOS类。然后,当iOS从连接接收到数据时,我希望反映数据以找到正确的类。我想到这样一个过程: { "firstFatherObj": { "firstObject": true, "secondObject": {

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

{
  "firstFatherObj": {
    "firstObject": true,
    "secondObject": {
      "firstProperty" : true,
      "secondProperty": "Prop"
    }
  },
  "http-status": 200
}
NSData->NSDictionary->Reflection->POPO iOS类

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

if ([dictionary.firstObject isKindOfClass: [POPObject class]])
{
    POPObject *popo = [[POPObject alloc] initWithObj: dictionary.firstObject];
    return popo;
}
我之所以不这么做,是因为某些POPOObject将包含包含其他POPOObject的NSArray属性!所以,如果我详细阐述一下递归的话,也许会更好。。。 我会解释清楚的。以这样的方式思考:

{
  "firstFatherObj": {
    "firstObject": true,
    "secondObject": {
      "firstProperty" : true,
      "secondProperty": "Prop"
    }
  },
  "http-status": 200
}
这是一个示例,但会有一些第二个/第三个/第四个/等。。。子类的级别,它将更加昂贵,而且非常沉重。有什么想法吗?谢谢

添加 我在考虑一些抽象的ResponseObject,他们将在iOS中对更多的POPObject进行分组。因此,当我给服务器打电话时,我知道一些我将等待的响应。所以我要创建这个抽象,我要把解析的东西委托给它的相关对象。 例如:我将向服务器询问有关已登录用户的一些信息。我不需要检查所有的POPObject(当然它们并不都是关于用户的),但是我实例化了ResponseUser对象,它将解析JSON,它将了解哪个类是合适的类(例如:userPosts、userPreferences和其他..)。
您对此有何看法?

您的iOS应用程序对它可以接收的对象种类了解多少?您是否正在尝试构建一些通用的东西,以便服务器可以返回任何类型的对象,而客户端只处理它?您是否正在尝试在客户端创建强类型对象,或者创建松散的字典,这些字典可以包含服务器决定发送的任何内容?不清楚你愿意接受的耦合程度。嗨@MikeTaverne。我的iOS应用程序将了解所有对象,因为一旦应用程序接收到对象,它将对其进行修改并将其发送到服务器。所以服务器和客户端必须同步。我考虑了一个ResponseObject,它将是所有POPObject的抽象,我将把它操作到特定的类。。。