0

編集可能なフィールドでテキストが変更されたときにリッスンする次のデリゲートメソッドがあります。

-(void)controlTextDidEndEditing:(NSNotification *)aNotification {

たとえば、2つのNSTextFieldが宣言されていますが、通知を生成したNSTextFieldを確認するにはどうすればよいですか?一方のテキストフィールドのテキストが編集を終了したときにいくつかのコードを実行し、もう一方のテキストフィールドのコードが編集を終了したときに他のコードを実行したいと思います。

つまり、通知を行ったテキストフィールドの名前を取得するにはどうすればよいですか?

ありがとうございました!

4

2 に答える 2

1

[aNotificationオブジェクト]は、通知を送信したNSControl(またはNSControlサブクラス)オブジェクトです。

于 2012-04-04T09:35:39.787 に答える
0

タグを使用してオブジェクトのタグフィールドを取得することもできますが、最初にオブジェクトをAnyからNSTextFieldに強制的にダウンキャストして、タグプロパティにアクセスできるようにする必要があります(「any」のオブジェクトには「tag」プロパティがありません)そのようです:

let object = aNotification.object as! NSTextField

次に、タグを確認できます。

if object.tag == 99 { do something }

これが、現在取り組んでいるコードの一部でこの問題に対処した方法です。

于 2017-06-07T21:12:51.067 に答える