我有两页,第一页是loginPage
,另一页是MainViewPage
。
我想将userInfo
(UserName
和Password
)从第一页转移到第二页,我正在使用 VIPER 结构。
我已经userInfo
在第二页得到了,但是当我使用Presenter
函数更新UILabel
时SecondPage
,进度被破坏了,它显示以下错误:
线程 1:致命错误:在展开可选值时意外发现 nil。
import Foundation
import UIKit
class MainViewModuleView: UIViewController, MainViewModuleViewProtocol
{
var presenter: MainViewModulePresenterProtocol?
@IBOutlet weak var userInfo: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
// print(NSHomeDirectory()as NSString)
}
func updateLabel(text:String){
print(text)
userInfo.text = text
}
}
这是我的Presenter
:
import Foundation
class MainViewModulePresenter: MainViewModulePresenterProtocol, MainViewModuleInteractorOutputProtocol
{
weak var view: MainViewModuleViewProtocol?
var interactor: MainViewModuleInteractorInputProtocol?
var wireFrame: MainViewModuleWireFrameProtocol?
var delegate: MainModuleDelegate?
init() {}
}
extension MainViewModulePresenter: MainModuleDelegate{
func sendLoginUser(userName: String) {
print("MainViewModulePresenter?.sendLoginUser: " + userName)
let text = userName
view?.updateLabel(text: text)
}
}
Presenter
两者中的文本都MainView
具有价值,但是当它调用updateLabel
函数时,进度被破坏了。此存储库中此演示的代码