尝试更改文本值时,UILabel始终打开为nil

时间:2015-04-23 19:46:03

标签: swift uilabel null

我有一个带有运动列表的tableview,我想打开每个单元格的相应团队页面。在我的团队的网页我有这是假设取决于你从体育的名单按哪个小区更改文本标签。我正确地从segue传递了字符串,我的打印行显示字符串是正确的。但是,当我尝试设置标签的文本时,出现“意外发现的零”错误。我的标签在IB中正确连接并实例化。它似乎很简单,但一直困扰着我。

这是我的运动列表控制器segue:

\

这是TeamPage()代码:

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {

    if segue.identifier == "showTeamPage"{
        let teamViewController: TeamPage = segue.destinationViewController as! TeamPage
        teamViewController.teamSport = sport
    }


    // Get the new view controller using [segue destinationViewController].
    // Pass the selected object to the new view controller.
}

我疯了......

1 个答案:

答案 0 :(得分:1)

我认为编译器很困惑,因为您正在重新初始化标签。我的猜测是,当你拨打电话self.sportTitle = UILabel()时,ARC开始杀死运动标题UILabel!您通过故事板连接制作的。然后,出于某种原因,self.sportTitle.text = teamSport尝试设置nil的文本(因为它已经因为您之前的步骤而被销毁)。

要解决此问题,请删除self.sportTitle = UILabel()。你不需要那个。