我试图在Swift中初始化一个空变量(自定义类类型)。谷歌告诉我使用"lazy"关键字,但我收到了错误"调用中参数"name"缺少参数":
lazy var currentEvent = Event()
事件所在位置:
class Event {
let name: String
let venue: String
let description: String
let startTime: String
let coords: [Float]
let tags: [String]
let friendsAttending: Int
let imageURL: String
var seen: Bool
func setSeen(seen: Bool) {
self.seen = seen
}
init(name: String, venue: String, description: String, startTime: String, coords: [Float], tags: [String],
friendsAttending: Int, imageURL: String)
{
self.name = name
self.venue = venue
self.description = description
self.startTime = startTime
self.coords = coords
self.tags = tags
self.friendsAttending = friendsAttending
self.imageURL = imageURL
self.seen = false
GlobalVariables.imageCache.fetch(URL: NSURL(string: imageURL)!)
}
}
我是不是用错了关键字(否则我该如何初始化一个空变量),还是我的类需要实现其他东西才能变得懒惰?
这是因为您还没有定义初始值设定项Event()
(没有参数)。您只定义了初始值设定项Event(name: , venue: , description: , startTime: , coords: , tags: , friendsAttending: , imageURL: )
。