arrays - 尝试将对象映射器模型转换为数组

标签 arrays swift object objectmapper

我是 Swift 新手,问了一些问题,我对如何获取对象的正确类型有些困惑,但我相信我已经弄清楚了。

我有一个用户对象,它是一个对象映射器模型。

我正在尝试将此对象映射器模型转换为数组。

https://github.com/Hearst-DD/ObjectMapper

但是我收到错误无法专门化非通用定义

这是我尝试转换的变量:

fileprivate var userDataSource = Mapper<User>().Array<Any>(User)

及其定义的扩展:

extension AccountViewController: GetUserDelegate {
    func getUserSuccess(user: User) {
        self.userDataSource = User
    }
}

到模型的原始映射是在这里完成的:

guard let user = Mapper<User>().map(JSONObject: value)

用户类如下所示:

class User: Mappable {
    required init?(map: Map) {

    }

    init() {}

    var id: Int?
    var firstName: String?
    var lastName: String?
    var displayName: String?
    var image: URL?
    var about: String?
    var email: String?
    var password: String?
    var authToken: String?

如果需要,我可以添加更多内容。

我在这里误解了什么?我看到的有关此错误的示例似乎都不适用于我的情况。

期望的最终输出:

["Name", "Bob Jim"],
["MC #", "1234567"],
["Company Name", "Bob's Truckin"],
["Truck Type", "Flat Bed"],
["Cell", "(555) 555-5555"],
["Dispatch", "(999) 999-9999"],
["Favorite Destinations", "Los Angeles"]

最佳答案

我猜你想要一组用户作为数据源, 我会像任何其他数组一样声明它:

var userDataSource = [User]()

var userDataSource = Array<User>()

并更新数据源,

extension AccountViewController: GetUserDelegate {
    func getUserSuccess(user: User) {
        self.userDataSource.append(user)
    }
}

关于arrays - 尝试将对象映射器模型转换为数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49199710/

相关文章:

python - 超出范围的对象 Python

c++ - 在 C++ 中比较数组是否相等

Java - 从列表/数组中的每个对象获取单个属性的最简单方法?

c++ - "error: request for member ‘size’ 中的 ‘a’ 是指针类型 "but I didn' t 认为它是一个指针

swift - 使用 slider 控制 SCNAction

javascript对象 - 如何在类函数中调用类变量

c - 对二维数组每行的所有最大元素求和

ios - 如何从 NSMutableArray (JSON) 获取数据

swift - 每个 Swift 类的新文件

C++:遍历对象以调用相同的方法