2

CBAutocompleteTextFieldサブクラスNSTextFieldを作成し、メソッドをオーバーライドしました:

- (void)textDidChange:(NSNotification *)aNotification
{
    [self complete:nil];
    [super textDidChange:aNotification];
}

警告は表示されませんが、実行時エラーが発生します。

[CBAutocompleteTextField complete:]: unrecognized selector sent to instance 0xca19a50

なんで?そのようなメソッドを提供するNSTextFieldサブクラスです。NSResponder確かに、私は警告を受けません。

ありがとう

4

1 に答える 1

3

ドキュメントによると、オーバーライドを提供しない限り、メソッドは機能しません。

このメソッドは、たとえば、用語集のショートカットを展開したり、描画中のグラフィック アイテムを閉じたりするなど、部分的な単語の展開を試みる要求として解釈できます。NSResponderこのメソッドを宣言しますが、実装しません。(強調追加)

于 2013-11-08T12:16:41.430 に答える