Reputation: 207
I'm already using Swift and since the update of Xcode beta4 to beta5 there are two compiler errors in the following code.
1st: init function - Error: "Overriding declaration requires an 'override' keyword" --> Solved
2nd: class FeedTableCell : UITableViewCell - Error: "Class 'FeedTableCell' does not implement its superclass's required members"
I couldn't find the required members in the documentation and other research - does anyone know what to do?
Code:
import UIKit
class FeedTableCell : UITableViewCell{
@IBOutlet var userLabel: UILabel!
@IBOutlet var hoopLabel: UILabel!
@IBOutlet var postLabel: UILabel!
func loadItem(#user: String, hoop: String, post: String) {
userLabel.text = user
hoopLabel.text = "#"+hoop
postLabel.text = post
}
init(style: UITableViewCellStyle, reuseIdentifier: String!) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
}
override func awakeFromNib() {
super.awakeFromNib()
}
override func setSelected(selected: Bool, animated: Bool){
super.setSelected(selected, animated: animated)
}
}
Upvotes: 1
Views: 1307
Reputation: 25459
I resolved this issue by adding required init(coder aDecoder: NSCoder!)
method:
class FeedTableCell : UITableViewCell{
@IBOutlet var userLabel: UILabel!
@IBOutlet var hoopLabel: UILabel!
@IBOutlet var postLabel: UILabel!
func loadItem(#user: String, hoop: String, post: String) {
userLabel.text = user
hoopLabel.text = "#"+hoop
postLabel.text = post
}
override init(style: UITableViewCellStyle, reuseIdentifier: String!) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
}
required init(coder aDecoder: NSCoder!) {
super.init(coder: aDecoder)
}
override func awakeFromNib() {
super.awakeFromNib()
}
override func setSelected(selected: Bool, animated: Bool){
super.setSelected(selected, animated: animated)
}
}
The other solution is remove init method at all:
class FeedTableCell : UITableViewCell{
@IBOutlet var userLabel: UILabel!
@IBOutlet var hoopLabel: UILabel!
@IBOutlet var postLabel: UILabel!
func loadItem(#user: String, hoop: String, post: String) {
userLabel.text = user
hoopLabel.text = "#"+hoop
postLabel.text = post
}
override func awakeFromNib() {
super.awakeFromNib()
}
override func setSelected(selected: Bool, animated: Bool){
super.setSelected(selected, animated: animated)
}
}
Upvotes: 8