我有以下代码,我对此错误消息感到困惑:
实例成员'mydate'不能用于'TableViewController'类型
码:
class TableViewController: UITableViewController {
let mydate = NSDate()
let items = [
(1, 9, 7, "A", mydate),
(2, 9, 7, "B", mydate),
(3, 9, 7, "C", mydate),
(4, 9, 7, "D", mydate)
]
Run Code Online (Sandbox Code Playgroud)
当我写下面的内容时,我可以构建它,但我不知道为什么oder片段不起作用:
class TableViewController: UITableViewController {
let mydate = NSDate()
let items = [
(1, 9, 7, "A", nil),
(2, 9, 7, "B", mydate),
(3, 9, 7, "C", mydate),
(4, 9, 7, "D", mydate)
]
Run Code Online (Sandbox Code Playgroud)
avi*_*ara 41
这里的问题是你self
在完全初始化类之前使用的.您可以拥有一个getter,每次访问变量时都会调用它,或者懒惰地计算它.
这是一些代码:
class TableViewController: UITableViewController {
let mydate = NSDate()
var items : [(Int,Int,Int,String,NSDate)] {
get {
return [
(1, 9, 7, "A", mydate),
(2, 9, 7, "B", mydate),
(3, 9, 7, "C", mydate),
(4, 9, 7, "D", mydate)
]
}
}
}
Run Code Online (Sandbox Code Playgroud)
懒惰计算:
class TableViewController: UITableViewController {
let mydate = NSDate()
lazy var items : [(Int,Int,Int,String,NSDate)] = {
return [
(1, 9, 7, "A", self.mydate),
(2, 9, 7, "B", self.mydate),
(3, 9, 7, "C", self.mydate),
(4, 9, 7, "D", self.mydate)
]
}()
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
43479 次 |
最近记录: |