【问题标题】:How to append a array of dictionary using object mapper in swift 4?如何在 swift 4 中使用对象映射器附加字典数组?
【发布时间】:2018-03-28 12:45:39
【问题描述】:

成功登录后,我在控制台中收到此消息。在用户内部有一个名为UserMedias 的数组列表。我想将UserMedias 附加到一个空数组列表中,以便可以在表格视图中显示UserMedias 的数据。我只使用对象映射器和 Swift 4。

var messageList : [UserMedias] = []

请告诉我如何将UserMedias 的数据附加到一个名为messageList 的空数组中。

【问题讨论】:

  • 第二张图片中的用户是什么?请打开它并粘贴您从服务器获得的示例 json 响应
  • 请粘贴你的json
  • 上传了截图。基本上用户有一些名为'name''username'的字段和一个名为'user_medias'的数组。我想将“user_medias”数据显示到一个空数组。请先生帮忙,
  • 你需要为同一个对象创建两个对象
  • @PPL:先生,我已经上传了截图。没事吧?

标签: ios swift swift4 objectmapper


【解决方案1】:

你需要像这样创建对象,

class UserRoot: BaseModel {
    var status: Bool?
    var message: String?
    var userDetails: UserDetails!

    override func mapping(map: Map) {
        message <- map["error"]
        userDetails <- map["user"]
        status <- map["success"]
    }
}

class UserDetails: BaseModel {
    var id : Int?
    var userMedias : [UserMedias] = []

    override func mapping(map: Map) {
        id <- map["id"]
        userMedias <- map["user_medias"]
    }
}

class UserMedia: BaseModel {
    var mediaId : Int?

    override func mapping(map: Map) {
        mediaId <- map["mediaId"]
    }
}

仅供参考。代码将根据您的要求进行更改。请进行必要的更改。根据需要创建属性。

如有任何疑问,请告诉我。

【讨论】:

    【解决方案2】:
    // First store the "user_medias" array in a temporary array
    
    let tempArr = resultDictionary["user_medias"] as! Array <Any>
    
    // Then run this for loop 
    
    for obj in tempArr
    {
     let tempDic = obj as! Dictionary < String,Any> 
     emptyArray.append(tempDic)  
     // here emptyArray is the array where you want to append the objects
    }
    

    【讨论】:

    • 我创建了一个空数组 var messageList : [UserMedias] = [] 现在我必须运行一个循环?
    • 首先,您必须从您从 api 获得的JSON 结果中获取user_medias 数组,并且您必须在使用该数组时运行 for 循环,其中你刚刚存储了 user_medias 数组,在那个循环中你做我所做的,追加到空数组中。
    • 我已经从 JSON 结果中获取了 user_medias 数组。请看截图。告诉我我必须在哪里运行 for 循环?
    猜你喜欢
    • 1970-01-01
    • 2016-11-22
    • 1970-01-01
    • 1970-01-01
    • 2018-07-18
    • 2017-06-03
    • 1970-01-01
    • 2023-03-29
    • 2017-11-28
    相关资源
    最近更新 更多