gpt4 book ai didi

ios - 编码新手,正在工作书中的一个示例,该示例是为 xcode 6.2 编写的,我有最新版本。

转载 作者:行者123 更新时间:2023-11-30 12:42:50 25 4
gpt4 key购买 nike

当我运行应用程序并尝试单击启动时打开的键盘上的任意键时,出现以下错误。这是我在所附照片 photo of error 中遇到的错误

下面是我的代码,它突出显示底部的第一个名为 func formatAsCurrancy... 的函数作为问题区域。我已经按照提示转换了书中的所有旧代码。不知道此时该怎么办。感谢您的任何帮助。

import UIKit

class ViewController: UIViewController {
//properties for programmatically interacting with UI components
@IBOutlet weak var billAmountLabel: UILabel!
@IBOutlet weak var customTipPercentLabel1: UILabel!
@IBOutlet weak var customTipPercentageSlider: UISlider!
@IBOutlet weak var customTipPercentLabel2: UILabel!
@IBOutlet weak var tip15Label: UILabel!
@IBOutlet weak var total15Label: UILabel!
@IBOutlet weak var tipCustomLabel: UILabel!
@IBOutlet weak var totalCustomLabel: UILabel!
@IBOutlet weak var inputTextField: UITextField!

// NSDecimalNumber constants used in the calculateTip method
let decimal100 = NSDecimalNumber(string: "100.0")
let decimal15Percent = NSDecimalNumber(string: "0.15")

override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
// select inputTextField so keypad displays when the view loads
inputTextField.becomeFirstResponder()
}

@IBAction func calculateTip(_ sender: Any) {
let inputString = inputTextField.text //get user input

// convert slider value to an NSDecimalNumber
let sliderValue =
NSDecimalNumber(integerLiteral: Int(customTipPercentageSlider.value))

// divide sliderValue by decimal100 (100.0) to get tip %
let customPercent = sliderValue / decimal100

// did customTipPercentageSlider generate the event?
if sender is UISlider {
// thumb moved so update the Labels with new custom percent
customTipPercentLabel1.text =
NumberFormatter.localizedString(from: customPercent,
number: NumberFormatter.Style.percent)
customTipPercentLabel2.text = customTipPercentLabel1.text
}

// if there is a bill amount, calculate tips and totals
if !(inputString?.isEmpty)! {
// convert to NSDecimalNumber and insert decimal point
let billAmount =
NSDecimalNumber(string: inputString) / decimal100

// did inputTextField generate the event?
if sender is UITextField {
billAmountLabel.text = " " + formatAsCurrency(number: billAmount)

// calculate and display the 15% tip and total
let fifteenTip = billAmount * decimal15Percent
tip15Label.text = formatAsCurrency(number: fifteenTip)
total15Label.text =
formatAsCurrency(number: billAmount + fifteenTip)
}

// calculate custom tip and display custom tip and total
let customTip = billAmount * customPercent
tipCustomLabel.text = formatAsCurrency(number: customTip)
totalCustomLabel.text =
formatAsCurrency(number: billAmount + customTip)
}
else {// clear all Labels
billAmountLabel.text = ""
tip15Label.text = ""
total15Label.text = ""
tipCustomLabel.text = ""
totalCustomLabel.text = ""
}
}

}

// convert a numeric value to localized currency string
func formatAsCurrency(number: NSNumber) -> String {
return NumberFormatter.localizedString(
from: number, number: NumberFormatter.Style.currency)
}
// overloaded + operator to add NSDecimalNumbers
func +(left: NSDecimalNumber, right: NSDecimalNumber) -> NSDecimalNumber {
return left.adding(right)
}
// overloaded * operator to multiply NSDecimalNumbers
func *(left: NSDecimalNumber, right: NSDecimalNumber) -> NSDecimalNumber {
return left.multiplying(by: right)
}
// overloaded / operator to divide NSDecimalNumbers
func /(left: NSDecimalNumber, right: NSDecimalNumber) -> NSDecimalNumber {
return left.dividing(by: right)
}

最佳答案

模拟器正在尝试在您的计算机上查找数字键盘,但您的计算机不应该有数字键盘,因此它会向您显示错误。

如果您进入模拟器,然后选择硬件 -> 键盘 -> 取消选中使用硬件键盘,问题就会消失。

关于ios - 编码新手,正在工作书中的一个示例,该示例是为 xcode 6.2 编写的,我有最新版本。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42036021/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com