(Xcode 拡張機能を追加するためのフレームワーク) のクラスに迅速な拡張機能を追加しようとするとXcodeKit
、コンパイラはエラーなしで喜んでビルドしますが、コードを実行すると、次の例外が発生します。
-[XCSourceEditorCommandInvocation test]: unrecognized selector sent to instance 0x7fc60543f2b0
以下は、例外を再現できるサンプル コードです。
class SourceEditorCommand: NSObject, XCSourceEditorCommand {
func perform(with invocation: XCSourceEditorCommandInvocation, completionHandler: @escaping (Error?) -> Void ) -> Void {
// Call extension method
invocation.test() // <--- Exception thrown here
completionHandler(nil)
}
}
extension XCSourceEditorCommandInvocation {
func test() {
print("it works!")
}
}
過去に問題なく ObjC クラスを迅速に拡張したので、ここで少し立ち往生しています。
私はもう試した: