【发布时间】:2016-01-08 08:07:20
【问题描述】:
我有一个UITableViewController 的子类,我在其中定义了
var allCells: [UITableViewCell]
但它给了我错误
没有初始值的存储属性“allCells”会阻止合成 初始化器
它建议我将定义更改为
var allCells: [UITableViewCell] = []
但是“修复”也不起作用,因为它失败了
类 '...' 没有初始化器
如何定义一个变量,它将是 array 的 UITableViewCell
更新
这是我的班级的样子
class MyClass: UITableViewController, SomeDelegate {
@IBAction func cancelAction(sender: AnyObject) {
self.delegate?.closeScreen()
}
var delegate: SomeDelegate?
var newUser = NewUser()
var datePickerCell: UITableViewCell
var allCells: [UITableViewCell]
override func viewDidLoad() {
allCells = [
self.tableView.dequeueReusableCellWithIdentifier("....")!,
self.tableView.dequeueReusableCellWithIdentifier("....")!,
self.tableView.dequeueReusableCellWithIdentifier("....")!
]
datePickerCell = self.tableView.dequeueReusableCellWithIdentifier("DPCell")!
NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("keyboardWillShow:"), name:UIKeyboardWillShowNotification, object: nil);
NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("keyboardWillHide:"), name:UIKeyboardWillHideNotification, object: nil);
initStyles()
}
.....
}
【问题讨论】:
-
第二行是正确的。肯定有其他问题。你能显示更多上下文代码吗?
-
其实第二个是对的。向我们展示您的其余代码......或者试试这个:var allCells:[UITableViewCell]? = [] 虽然它没有真正意义,因为它应该在没有“?”的情况下工作而且它不是可选的,因为它是空的......
-
您可能还有一些未正确初始化的属性,请显示更多代码。该错误消息与您现在显示的消息无关。
-
我已经用更多代码更新了帖子
标签: ios swift uitableview swift2