Возвращаемый тип не является необязательным, но запрашивает его разворачивание

#swift

#swift

Вопрос:

У меня есть метод в ViewModel, который называется registerSchool() и возвращает значение Bool. Когда я вызываю этот метод в ViewController, он говорит, что мне нужно его развернуть, потому что это необязательный тип. Я не отметил, что возвращаемый тип является необязательным! Почему я получаю это сообщение об ошибке?

ViewController -> RegisterViewController

 var registerVM = RegisterVM()

@IBAction func registerBtnClicked(_ sender: Any) {
  RegisterServiceManager.allUsers { [weak self] (result) in
   guard let result = result else { return }
   DispatchQueue.main.async {
    // the following line saying the return is Bool?
    if self?.registerVM.registerSchool() {
    
   }
  }
 }
}
  

ViewModel -> RegisterVM

 func registerSchool() -> Bool {
 return true
}
  

Ответ №1:

Необязательная цепочка. Если self это необязательно, self?.registerVM.registerSchool() это необязательно.