カスタムUIViewの1つを拡張してメソッドを呼び出そうとしていますが、 "値の型 'MyCustomView'に 'testMethod'というメンバーがありません。以下は私のコードUIView拡張からメソッドを呼び出すことができません
extension MyCustomView {
func testMethod() {
//do stuff here
}
}
//in a separate class from the extension
class func onMoreOptionsButtonPressed(currentViewController:UIViewController) {
for view in currentViewController.view.subviews {
if view.isKindOfClass(MyCustomView) {
let myCustomView = view as! MyCustomView
myCustomView.testMethod()
}
}
}
は、それが私には論理的に正しいと思われるので、もちろん、私はこの機能にさまざまな方法の束を実装することができますが、私は特にこのコードはコンパイルされません理由で、より興味があります。すべての援助は非常に高く評価されます。
あなたのコードは、 '}'が見つからない以外は私のためにうまくコンパイルします – dan
修正をお願いします。ありがとうございました。それはとても奇妙なことです。派生データを削除しようとしましたが、Xcodeを終了して再起動しましたが、まだコンパイルされません。それは既存のアーキテクチャーと何かでなければなりません。 – Amloelxer
拡張機能を別のファイルからMyCustomViewと同じクラスに移動することで、この問題は解決しますが、アーキテクチャ的には好きなことではなく、残念ながら私がなぜ最初にコンパイルされないのかという質問には答えません。 – Amloelxer