当使用值实例化变量时,iOS会找到nil值

时间:2016-08-12 16:35:06

标签: ios swift

我有一个使用此代码的iOS应用程序:

的ViewController:

visibility:hidden

视图模型:

var viewModel : LoginViewModel!

override func viewDidLoad() {
    super.viewDidLoad()
    if (self.viewModel.password_from_signup != "") {

该应用程序在viewController中的if语句处失败,并提供此错误代码:

class LoginViewModel: NSObject {
    ....
    var password_from_signup: String = ""

当我将String实例化为“”时,它怎么能找到一个nil?

2 个答案:

答案 0 :(得分:1)

看起来你永远不会根据你提供的代码实例化LoginViewModel。你问题实际上并不是password_from_signup是nil,但你的viewModel是nil。

答案 1 :(得分:1)

您尚未实例化viewModel。试试这个:

var viewModel : LoginViewModel!

override func viewDidLoad() {
    super.viewDidLoad()
    self.viewModel = LoginViewModel()
    if (self.viewModel.password_from_signup != "") {