您好我是IOS编程的新手,我正在尝试了解以下错误实际告诉我的内容以及如何解决它。请有人帮忙吗?
我的TableViewCell.swift文件中的代码添加在下面。
import UIKit
class SweetTableViewCell: UITableViewCell {
@IBOutlet var usernameLabel: UILabel! = UILabel()
@IBOutlet var timestampLabel: UILabel! = UILabel()
@IBOutlet var profileImageView: UIImageView! = UIImageView()
@IBOutlet var sweetTextView: UITextView! = UITextView()
required init(coder aDecoder: (NSCoder!)) {
super.init(coder: aDecoder)
}
override init(style: UITableViewCellStyle, reuseIdentifier reuseIdenifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
// Initialization code
}
}
答案 0 :(得分:1)
混淆错误消息,但我认为问题是您的“reuseIdenifier”本地参数名称。
尝试:
override init(style: UITableViewCellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
}
不幸的是,我无法深入链接,但请查看Swift文档中的外部参数名称部分:https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Functions.html
它发出此错误的原因是因为当您使用reuseIdentifier时,您实际上是在init中访问self.reuseIdentifier,因为reuseIdenifier实际上是该范围内的参数(由于本地参数名称)。在初始化self之前,您无法访问self属性。
答案 1 :(得分:1)
这是一个错误的类型,t
丢失了:
reuseIdenifier
^^
所以在init主体中你实际上是指实例属性,这就是错误所说的内容。
但是由于外部和本地名称相同,所以如果您使用#
快捷方式会更好:
override init(style: UITableViewCellStyle, # reuseIdentifier: String?) {