我希望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
谢谢!