gpt4 book ai didi

ios - Swift 中的便利初始化器

转载 作者:可可西里 更新时间:2023-11-01 01:06:42 24 4
gpt4 key购买 nike

我试图在 Swift 中为我的一个模型创建某种类型的 initWithDictionary 初始值设定项。这就是我想要做的:

class CityModel: NSObject {

var country: String
var mapLat: String
var mapLng: String
var mapZoom: Int
var name: String
var nameShort: String
var timezone: String
var token: String

init(country: String, mapLat: String, mapLng: String, mapZoom: Int, name: String, nameShort: String, timezone: String, token: String) {
self.country = country
self.mapLat = mapLat
self.mapLng = mapLng
self.mapZoom = mapZoom
self.name = name
self.nameShort = nameShort
self.timezone = timezone
self.token = token
}

convenience init(dict: Dictionary<String, AnyObject>) {
self.init(
country: (dict["country"] as String),
mapLat: (dict["mapLat"] as String), // error
mapLng: (dict["mapLng"] as String),
mapZoom: (dict["mapZoom"] as Int),
name: (dict["name"] as String),
nameShort: (dict["nameShort"] as String),
timezone: (dict["timezone"] as String),
token: (dict["token"] as String)
)
}
}

我收到以下错误:

CityModel.swift:34:18: Extra argument 'mapLat' in call

恐怕我不知道自己做错了什么。有什么想法吗?

最佳答案

将您的 dict 声明更改为:

dict: Dictionary<String, Any>

这是因为您混合使用了多种类型,包括非类类型。

Swift 文档中的更多信息在这里: https://developer.apple.com/library/prerelease/mac/documentation/Swift/Conceptual/Swift_Programming_Language/TypeCasting.html#//apple_ref/doc/uid/TP40014097-CH22-XID_505

“额外参数”错误消息是一个转移注意力的问题。我发现它通常会提示参数的类型不匹配。

关于ios - Swift 中的便利初始化器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26151201/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com