Swift でプロトコルを定義したとします。
public protocol MyProtocol {
func myMethod() -> String
}
次に、同じソース ファイルでクラスを定義します。
public class MyClass: NSObject {
var myVariable = ""
func myOtherMethod()
}
次に、同じソース ファイルにMyClass
準拠を指定するための拡張子を追加します。MyProtocol
extension MyClass: MyProtocol {
func myMethod() -> String {
return "abc"
}
}
上記のコードを Xcode 7.2 でコンパイルしようとすると、拡張機能の各メソッドにパブリック デコレータを追加する必要があることを示すコンパイラ エラーが表示されます。
extension MyClass: MyProtocol {
public func myMethod() -> String {
return "abc"
}
}
上記のようなクラス拡張のすべてのメソッドに注釈を付けるのを避ける方法はありpublic
ますか?
注: public
fromを削除MyClass
すると上記のコンパイル エラーが解消されることはわかっていますが、MyClass
それを使用する Objective-C コードから見えるようにする必要があります。