위임이나 프로토콜을 사용하지 않는 상황에서 다른 종류로 정의된 방법을 호출하는 방법

classB에서 classA에 정의된 UIVIew Controller를 호출하려면


하고 싶은 일이 단순하다.버튼을 누르면 화면이 섬유질 됩니다.그러나 여러 가지 일이 있기 때문에 본반에서 정의할 수 없다UIViewController.
스토리보드와 UI의 동작은classA에 있지만 처리는classB에 있고 clssA를 통해 단추를 누르면 그 후의 처리는classB에 오기 때문에 정의하고 싶지만pushViewController그러나classB는 UIVIewController를 정의할 수 없기 때문에 호출할 수 없습니다pushViewController.나는 어떻게 설명해야 할지 모르겠다.만약 이해하지 못한다면, 나는 이미 어쩔 수 없다.presentViewControllerpushViewController든 그것들은 모두 UIViewController의 실례적인 방법이다uivewcontroller 정의되지 않은class는 호출할 수 없습니다.정의UIViewController의class가 필요합니다.
어떻게 해야 할지 정의하고 있어요. UIViewControllerclass에서 UIViewController주면 되잖아요.
델리멘이 처리를 받았다는 인상, 합의가 자신을 크게 만들었다는 인상이라면 얻은 인상이다.잘 모르겠어, 난감하네.

코드


수락자 (uiviewcontroller의class를 계승하지 않음)
classB

var viewControllerPush : UIViewController? = nil
//変数viewControllerを定義してnillを入れておく
//ここにUIViewControllerが入ってきます

전달자(uiviewcontroller의class 계승)
classA

var jumpB = ClassB()


    override func viewDidLoad() {
        super.viewDidLoad()

        self.jumpB.viewControllerPush = self

//classBをインスタンス化したjumpBを呼び出して
//classBにはviewControllerPushがいますから
//そこに、self(つまり、classAにはUIViewControllerが定義されてま)を入れる

참고 자료

좋은 웹페이지 즐겨찾기