我開始使用Xcode 9上的推薦嚮導對具有Objc和Swift一起工作的項目遷移項目。Swift Swift 4遷移後的類別「無可見接口」錯誤
extension UIColor {
func doSomething(withAnotherColor color: UIColor) -> Bool {
return true
}
}
然後在一些Objc類:
具有以下UIColor
擴展時,會出現問題
@implementation MyView
- (void)styleView {
//... some code
if ([someColor doSomethingWithAnotherColor:anotherColor]) {
...
}
}
@end
的if
聲明拋出以下錯誤:../MyView.m: No visible @interface for 'UIColor' declares the selector 'doSomethingWithAnotherColor:'
我試着在擴展名和方法上使用@objc
指令都沒有運氣。
注意這是一個編譯錯誤,不喜歡提到的其他問題,像這樣的警告:How can I deal with @objc inference deprecation with #selector() in Swift 4?
任何想法?
您需要標記方法(或擴展)'@ objc';比較https://stackoverflow.com/q/44390378/2976878 – Hamish
對不起,我試了很多東西,包括(你提到的)之前發佈的答案沒有運氣。 – Omer
@matt只是修改瞭解釋這個不同的問題。 – Omer