如何将元素移入另一个数组

时间:2018-07-04 13:33:30

标签: objective-c

        "Session_Details": [
            {
                "Start_Time": "19:00",
                "End_Time": "19:00",
                "Time": "19:00 - 19:00",
                "Session_Name": "WELCOME DINNER",
                "Session_Id": 6,
                "Opinion_Details": [
                    {
                        "Opinion_Id": 1,
                        "Opinion_Name": "opinion 1",
                        "Opinion_Url": "www.google.com",
                        "Priority": 5,
                        "Icon": "f075"
                    },
                    {
                        "Opinion_Id": 2,
                        "Opinion_Name": "opinion 2",
                        "Opinion_Url": "www.google.com",
                        "Priority": 4,
                        "Icon": "f075"
                    }
                ],
                "Tag_Details": [
                    {
                        "Tag_Id": 1,
                        "Tag_Name": "tag 1",
                        "Tag_Color": "#000000",
                        "Tag_Order": 1
                    }
                ],
            },
               {
                "Start_Time": "10:00",
                "End_Time": "10:30",
                "Time": "10:00 - 10:30",
                "Session_Name": "MORNING BREAK",
                "Session_Id": 9,
                "Opinion_Details": [
                    {
                        "Opinion_Id": 1,
                        "Opinion_Name": "opinion 1",
                        "Opinion_Url": "www.google.com",
                        "Priority": 5,
                        "Icon": "f075"
                    }
                ],
                "Tag_Details": [
                    {
                        "Tag_Id": 1,
                        "Tag_Name": "tag 1",
                        "Tag_Color": "#000000",
                        "Tag_Order": 1
                    }
                ],
            }
          ]

这是我从后端获取的数组,我将其带入NSMutableArray,但我想以除 Start_Time End_Time 以外的其他格式自定义数据 ,时间,其余所有元素移入另一个数组,如

“会话详细信息”:[  {                 “ Start_Time”:“ 19:00”,                 “ End_Time”:“ 19:00”,                 “时间”:“ 19:00-19:00”,                 “ Event_Details”:[                   {                     “ Session_Name”:“欢迎晚餐”,                     “ Session_Id”:6                     “ Opinion_Details”:[                        {                         “ Opinion_Id”:1,                         “ Opinion_Name”:“意见1”,                         “ Opinion_Url”:“ www.google.com”,                         “优先级”:5                         “ Icon”:“ f075”                        },                        {                         “ Opinion_Id”:2                         “ Opinion_Name”:“意见2”,                         “ Opinion_Url”:“ www.google.com”,                         “优先级”:4                         “ Icon”:“ f075”                        }                    ],                 “ Tag_Details”:[                     {                         “ Tag_Id”:1                         “ Tag_Name”:“标签1”,                         “ Tag_Color”:“#000000”,                         “ Tag_Order”:1                     }                   ],                 }               ]             }           ]

**请分享您的建议,并预先感谢**

1 个答案:

答案 0 :(得分:1)

您可以创建几个模型对象:

  • NSObject的子类。我们称之为Event
  • EventDetailsNSObject

Event将具有以下属性:

  • startTime类型为NSString或NSDate
  • endTime类型为NSString或NSDate
  • time类型为NSString或NSTimeInterval
  • eventDetailsEventDetails类型的NSArray<EventDetails *> *

EventDetails会有sessionName等(根据字典“ Event_Details”数组的内容)。

然后,您将创建一个EventBuilderNSObject类。它只有一个方法:

  • + (Event*)buildEventFromDictionary:(NSDictionary*)dictdict是初始JSON的“ Session_Details”数组中的对象。在内部,此方法将创建一个新的EventEventDetails对象,并按照您想要的方式用适当的字段填充它。

稍后,您将使用Event对象而不是NSDictionary对象。这样可以使您的代码干净且类型安全。