从NSTextField获取价值

时间:2009-06-12 05:39:51

标签: macos cocoa nstextfield

我有一个NSTextField,我需要将字段的值转换为变量。什么是合适的方法?

4 个答案:

答案 0 :(得分:114)

对于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

答案 1 :(得分:4)

Swift 3.x版本:

class home: UIViewController {
@IBOutlet weak var fiveth1: UILabel!
@IBOutlet weak var iron1: UILabel!
@IBOutlet weak var gold1: UILabel!
@IBOutlet weak var ships1: UILabel!
@IBOutlet weak var empires1: UIWebView!

@IBOutlet weak var webViewG: UIWebView!
override func viewDidLoad() {
    super.viewDidLoad()

    let htmlPath1 = Bundle.main.path(forResource: "WebViewContent2", ofType: "html")
    let htmlURL1 = URL(fileURLWithPath: htmlPath1!)
    let html1 = try? Data(contentsOf: htmlURL1)

    self.webViewG.load(html1!, mimeType: "text/html", textEncodingName: "UTF-8", baseURL: htmlURL1.deletingLastPathComponent())


    if (Fiveth.value(forKey: "Fiveth") != nil){
        fiveth = Fiveth.value(forKey: "Fiveth") as! NSInteger!
        fiveth1.text = NSString(format: "Fiveth: %i", fiveth) as String
    }

    fiveth1.text = "\(Fiveth)"
}

答案 2 :(得分:3)

[myField stringValue]

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

答案 3 :(得分:0)

此外:

假设您有一个对象(MyObject)希望在有人输入NSTextField时收到通知。在.h文件中,MyObject应声明它符合NSTextFieldDelegate,如... {/ p>

@interface MyObject : NSObject <NSTextFieldDelegate>

然后将MyObject设置为NSTextField

的委托

[myTextField setDelegate:myObject]

现在,您可以通过在MyObject中实现方法来了解文本字段中发生的事情,如:

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