我是 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/