我想通過擴展我的自定義UIViews之一來調用方法,但我得到錯誤「類型'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並重新啓動,但它仍然不會編譯。它必須是現有架構的東西,然後右@dan? – Amloelxer
將擴展從它自己的單獨文件移動到與MyCustomView相同的類可解決此問題,但這不是我希望在架構上執行的操作,但不幸的是,仍然不能回答我爲什麼不會首先編譯的問題。 – Amloelxer