私は4つのUIButtonを持つUIViewControllerを持っています。ユーザーはUIButtonのいずれかをタップするとUIViewがポップアップします。私はdidAppear()
とdidDisappear()
関数を、ユーザーの操作に応じてUIViewを保持しているクラスに追加したいと思います。どのように私は、たとえば、列挙型を使用せずにdidDisappear()
呼び出すことができます。複数のクラスで同じ関数を呼び出す方法は?
func didDisappear(view: EnumViews){
switch view{
case view0: myClassWithView0.didDisappear()
case view1: myClassWithView1.didDisappear()
case view2: myClassWithView2.didDisappear()
case view3: myClassWithView3.didDisappear()
}
}
今、私は4回でデータを複製得ます。私は、UIViewを使ってクラスに関数が存在することを知っていますが、それを呼び出す方法は?私はプロトコルを作った:
protocol ViewProtocol{
func didAppear()
func didDisappear()
}
私はUIViewのプロトコルに準拠しているクラスを作った。
'myClassWithUIView' cannot be constructed because it has no accessible initializers
クラスは、アレイ内のすべてであり、私はUIViewのはsender.tagからポップアップする必要が識別できます。しかし、私は、私はクラスを作成するとき、私はエラーを取得し、それを使用する方法がわかりません。理想的には、私はこのようなものを持っています:
@IBAction func bringNewUIView(_ sender: UIButton) {
let newView = myArrayOfClassesWithUIView[sender.tag]
newView.didAppear()
}
はい私は、人々に私が何を意味するかを見せるために簡単な言葉を使っています。 – NoKey