【问题标题】:Get value from NSTextField从 NSTextField 获取值
【发布时间】:2010-11-02 09:06:51
【问题描述】:

我有一个NSTextField,我需要将该字段的值放入一个变量中。合适的方法是什么?

【问题讨论】:

    标签: macos cocoa nstextfield


    【解决方案1】:

    对于NSString,您可以使用:

    NSString *myString = [theTextField stringValue];
    

    对于int,您可以使用:

    int myInt = [theTextField intValue];
    

    还有许多其他方法可以从控件中获取值。在"Getting and Setting the Control’s Value" section 下查看NSControl 参考以获取更多信息。

    这是一个列表:

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

    【讨论】:

      【解决方案2】:

      Swift 3.x 版本:

      myField.stringValue
      

      【讨论】:

        【解决方案3】:

        [myField stringValue]

        NSTextField 继承自 NSControlNSControl 定义了 stringValue/setStringvalue: 方法。

        【讨论】:

          【解决方案4】:

          还有:

          假设您有一个对象 (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;
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2015-09-30
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多