Swift - "比较类型' String'的非可选值没有"接下来是"线程1:致命错误:"

时间:2017-12-26 20:36:42

标签: ios swift null optional

我希望ViewController文件中 playerOneBtn 的标题是存储在 Player文件的变量 name 中的字符串。 Player 类的swift 。就像每次打开ViewController一样,因为用户可以在其他Viewcontrollers中更改文本,这就是代码在ViewDidLoad中的原因。

但它给了我一个错误,因为通过运行应用程序,变量 name 的值为 nil 。这就是我想检查变量 name 是否为零的原因,以及是否将其更改为" PLAYER ONE"

有没有办法检查字符串是否为 nil ?我已经阅读了其他一些问题,但遗憾的是无法找到有效的解决方案。

或者代码的其他部分可能是错误的,这很可能?

第一个代码来自Player文件,第二个代码来自VC。

class Team {
    class Player {
        private var name: String

        init (n: String){
            self.name = n
        }

        func setName(n: String){
            self.name = n
        }

        func getName() ->String{
            return self.name
        }
    } 
    class PlayerOne: Team.Player {}
}

class TeamOneVC: UIViewController {
    var playerOne: Team.PlayerOne!

    override func viewDidLoad() { 
        if playerOne.getName() == nil {
            playerOne.setName(n: "PLAYER ONE")
        }
        playerOne = Team.PlayerOne(n: playerOne.getName())
        playerOneBtn.setTitle(playerOne.getName(), for: .normal
    }
}
  

第7行:(警告)比较类型' String'的非可选值to nil总是返回false

     

第10行:(错误)线程1:致命错误:在解包可选值时意外发现nil

谢谢!

The PlayerFile   The ViewController

0 个答案:

没有答案