IBOutlet在awakenFromNib之后是nil但在awakenFromNib中没有

时间:2018-01-26 04:16:15

标签: ios swift

我有VideoPlayerTableViewCell类看起来像这样:

class VideoPlayerTableViewCell: UITableViewCell, VideoEntrySetupBase {

    var videoPlayerEntry: VideoPlayerEntryModel?

    @IBOutlet weak var view: VideoPlayerView!

    override func awakeFromNib() {
        super.awakeFromNib()
        // Initialization code
        print("VideoPlayerTableViewCell awakeFromNib")
        //setup()
    }

    override func setSelected(_ selected: Bool, animated: Bool) {
        super.setSelected(selected, animated: animated)

        // Configure the view for the selected state
    }

    func setup(withEntry: VideoPlayerEntryModel) {
        videoPlayerEntry = withEntry
        view.vidUrl = (videoPlayerEntry?.vidUrl)!
        view.createAndPlayPlayer()
    }


}

该类与xib配对,该xib只有一个类型为VideoPlayerView的视图。现在我遇到的问题是viewawakeFromNib函数中检查它时有一些价值。但是,当我尝试从控制器的setup / viewDidLoad / viewDidAppear函数之一调用cellForRowAt函数时,视图始终返回nil。为什么会这样?我该如何解决?

感谢。

PS:我也尝试过清理项目,但没有做任何事情。

1 个答案:

答案 0 :(得分:0)

抱歉,这些误报,伙计们。但实际上我想我知道为什么。我在内容视图中使用了nib的内容视图而不是子视图。当我在内容视图中移动它时,它工作正常。对不起,误报了。这是你在截止日期有2个项目,一个Android一个iOS,另一个Unity 3D项目等待审查时得到的。天啊,我现在需要一杯咖啡。