ฉันมีNSTextField
และฉันต้องการรับค่าของฟิลด์เป็นตัวแปร วิธีที่เหมาะสมคืออะไร?
ฉันมีNSTextField
และฉันต้องการรับค่าของฟิลด์เป็นตัวแปร วิธีที่เหมาะสมคืออะไร?
คำตอบ:
สำหรับNSString
คุณจะใช้:
NSString *myString = [theTextField stringValue];
สำหรับint
คุณจะใช้:
int myInt = [theTextField intValue];
มีวิธีการอื่น ๆ อีกมากมายในการรับค่าจากตัวควบคุม มีลักษณะที่เป็นNSControl
ข้อมูลอ้างอิงสำหรับข้อมูลเพิ่มเติมภายใต้หัวข้อ "การเดินทางและการตั้งค่าการควบคุมของ"
นี่คือรายการ:
doubleValue
floatValue
intValue
integerValue
objectValue
stringValue
attributedStringValue
เวอร์ชัน Swift 3.x:
myField.stringValue
[myField stringValue]
NSTextField
สืบทอดมาจากNSControl
และNSControl
กำหนดstringValue
/ setStringvalue:
วิธีการ
นอกจากนี้:
สมมติว่าคุณมีวัตถุ ( MyObject
) ที่ต้องการรับการแจ้งเตือนเมื่อมีคนพิมพ์เป็นไฟล์NSTextField
. ในไฟล์. h MyObject
ควรประกาศว่าเป็นไปNSTextFieldDelegate
ตามใน ...
@interface MyObject : NSObject <NSTextFieldDelegate>
จากนั้นคุณตั้งค่า MyObject เป็นผู้รับมอบสิทธิ์ของไฟล์ NSTextField
[myTextField setDelegate:myObject]
ตอนนี้คุณสามารถค้นหาว่ามีอะไรเกิดขึ้นในฟิลด์ข้อความโดยใช้วิธีการใน MyObject เช่น:
-(void)controlTextDidEndEditing:(NSNotification *)aNotification;
-(void)controlTextDidChange:(NSNotification *)aNotification;
-(void)controlTextDidBeginEditing:(NSNotification *)aNotification;