web-dev-qa-db-ja.com

NSTextFieldから値を取得

NSTextFieldがあり、フィールドの値を変数に取得する必要があります。適切な方法は何ですか?

105
anakin

NSStringの場合、次を使用します。

NSString *myString = [theTextField stringValue];

intの場合、次を使用します。

int myInt = [theTextField intValue];

コントロールから値を取得する方法は他にもたくさんあります。 "コントロールの値の取得と設定" の下の詳細については、NSControlリファレンスをご覧ください。

リストは次のとおりです。

  • doubleValue
  • floatValue
  • intValue
  • integerValue
  • objectValue
  • stringValue
  • attributedStringValue
115
toholio

[myField stringValue]

NSTextFieldNSControlから継承し、NSControlstringValue/setStringvalue:メソッド。

3
NilObject

Swift 3.xバージョン:

myField.stringValue
3
Stanley

また:

誰かがMyObjectを入力したときに通知を受け取りたいオブジェクト(NSTextField)があるとします。 .hファイルでは、MyObjectNSTextFieldDelegateに準拠することを宣言する必要があります。

@interface MyObject : NSObject <NSTextFieldDelegate>

次に、MyObjectをNSTextFieldのデリゲートとして設定します

[myTextField setDelegate:myObject]

次のようなメソッドをMyObjectに実装することで、テキストフィールドで何かが発生したことを確認できます。

-(void)controlTextDidEndEditing:(NSNotification *)aNotification;
-(void)controlTextDidChange:(NSNotification *)aNotification;
-(void)controlTextDidBeginEditing:(NSNotification *)aNotification;
0
The Cappy