如何计算数学类型并在输入 swift 时给出结果
How to calculate a math type and give the result as you type in swift
我正在为我的大学制作一个将数字从十进制转换为二进制的程序。
我已经用 Xcode 在 Swift 中编写了脚本和函数,并且效果很好。但现在它可以与计算按钮一起使用。
当用户在 NSTextField 上输入数字时,我想删除按钮代码和 return 特定标签上的结果。
如何做到这一点?
它适用于 OSX 环境的应用程序。
我在带有转换按钮的视图文件上有以下代码,我想删除它。
import Cocoa
class DecimalView: NSViewController {
@IBOutlet weak var decimalNumberText: NSTextField!
@IBOutlet weak var toBinaryLabel: NSTextField!
@IBAction func convertButton(sender: AnyObject) {
let binaryNumber = DecimalToBinary(Int(decimalNumberText.stringValue)!)
toBinaryLabel.stringValue = binaryNumber
}
override func viewDidLoad() {
super.viewDidLoad()
// Do view setup here.
}
}
应该怎么改造?
我假设您使用的是 NSTextField。为此,您必须使用 及其方法 textDidChange:
。在此方法中,只需调用您的函数并将值设置为标签。
如果您使用 NSTextField 作为输入,则将其委托设置为自身并使用 NSTextFieldDelegate 的 controlTextDidChange 委托。
在此委托中,您可以调用转换脚本和函数并将结果显示在您的特定标签上。
import Cocoa
class DecimalView: NSViewController, NSTextFieldDelegate {
@IBOutlet weak var decimalNumberText: NSTextField!
@IBOutlet weak var toBinaryLabel: NSTextField!
func convertNumber() {
let binaryNumber = DecimalToBinary(Int(decimalNumberText.stringValue)!)
toBinaryLabel.stringValue = binaryNumber
}
override func viewDidLoad() {
super.viewDidLoad()
// Do view setup here.
decimalNumberText.delegate = self
}
override func controlTextDidChange(obj: NSNotification) {
// Call your conversion functions here and display the result on label
if obj.object as! NSTextField == decimalNumberText {
self.convertNumber()
}
}
}
我正在为我的大学制作一个将数字从十进制转换为二进制的程序。 我已经用 Xcode 在 Swift 中编写了脚本和函数,并且效果很好。但现在它可以与计算按钮一起使用。 当用户在 NSTextField 上输入数字时,我想删除按钮代码和 return 特定标签上的结果。
如何做到这一点? 它适用于 OSX 环境的应用程序。
我在带有转换按钮的视图文件上有以下代码,我想删除它。
import Cocoa
class DecimalView: NSViewController {
@IBOutlet weak var decimalNumberText: NSTextField!
@IBOutlet weak var toBinaryLabel: NSTextField!
@IBAction func convertButton(sender: AnyObject) {
let binaryNumber = DecimalToBinary(Int(decimalNumberText.stringValue)!)
toBinaryLabel.stringValue = binaryNumber
}
override func viewDidLoad() {
super.viewDidLoad()
// Do view setup here.
}
}
应该怎么改造?
我假设您使用的是 NSTextField。为此,您必须使用 及其方法 textDidChange:
。在此方法中,只需调用您的函数并将值设置为标签。
如果您使用 NSTextField 作为输入,则将其委托设置为自身并使用 NSTextFieldDelegate 的 controlTextDidChange 委托。
在此委托中,您可以调用转换脚本和函数并将结果显示在您的特定标签上。
import Cocoa
class DecimalView: NSViewController, NSTextFieldDelegate {
@IBOutlet weak var decimalNumberText: NSTextField!
@IBOutlet weak var toBinaryLabel: NSTextField!
func convertNumber() {
let binaryNumber = DecimalToBinary(Int(decimalNumberText.stringValue)!)
toBinaryLabel.stringValue = binaryNumber
}
override func viewDidLoad() {
super.viewDidLoad()
// Do view setup here.
decimalNumberText.delegate = self
}
override func controlTextDidChange(obj: NSNotification) {
// Call your conversion functions here and display the result on label
if obj.object as! NSTextField == decimalNumberText {
self.convertNumber()
}
}
}