我有一个 Swift 结构,如下所示:
import Foundation
let invalidCharsForFirstCharacter : [Character] = [
"\\", "_", "-", "!", "'" , "§", "$", "%", "&", "/", "(", ")", "=", "?", ".", ":", ",", ";"
]
struct Event {
var id : String {
set {
if invalidCharsForFirstCharacter.contains(newValue[newValue.startIndex]) {
self.id = ""
} else {
self.id = newValue
}
}
get {
return self.id
}
}
var name : String
}
当我现在想要使用像 let testEvent = Event(id: "id123", name: "name")
这样的调用来初始化结构时,Xcode 给出了错误“Extra argument”通话中的“id””。
我使用 Xcode 版本 7.0 (7A218) 和 Swift 2.0。
最佳答案
您收到消息Extra argument 'id' in call,因为您的结构没有带有此 id
参数的初始值设定项。
但是在您的情况下,您无法添加此 init,因为您的 id
变量有一个使用 self
的 setter ,并且您不能使用 self
在结构完全初始化之前。
关于ios - '调用中的额外参数 'id'' 与 Swift 结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32699918/