[英]Error: Use of 'self' in property access 'texture' before super.init initializes self
[英]Error: Use of self in property access 'reuseidentifier' before super.init initializes self
嗨,我是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
}
}
令人困惑的錯誤消息,但我相信問題是您的“ 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,因為復用Idenifier實際上是該作用域中的參數(由於本地參數名稱)。 在初始化self之前,您無法訪問self的屬性。
這是一個錯誤的類型, t
丟失了:
reuseIdenifier
^^
因此,在init主體中,您實際上是在引用instance屬性,這就是錯誤所指出的內容。
但是,由於外部名稱和本地名稱相同,因此最好使用#
快捷方式:
override init(style: UITableViewCellStyle, # reuseIdentifier: String?) {
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.