自Xcode Beta5以来的iOS 8 UITableViewCell类编译器错误

Joe*_*Joe 1 compiler-errors uitableview swift

我已经在使用Swift,并且自从Xcode beta4更新到beta5后,以下代码中存在两个编译器错误.

1st:init函数 - 错误:"覆盖声明需要'override'关键字" - >已解决

第二名:类FeedTableCell:UITableViewCell - 错误:"类'FeedTableCell'没有实现其超类的必需成员"

我在文档和其他研究中找不到所需的成员 - 有谁知道该怎么做?

码:

    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)
}
Run Code Online (Sandbox Code Playgroud)

}

Gre*_*reg 8

我通过添加required init(coder aDecoder: NSCoder!)方法解决了这个问题:

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)
    }
}
Run Code Online (Sandbox Code Playgroud)

另一个解决方案是删除init方法:

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)
    }
}
Run Code Online (Sandbox Code Playgroud)