- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在制作一个应用程序,特别是小费计算器,以练习我的 Swift 技能。目前使用 Swift 5。
我已经设置了布局、标签、文本字段等。但是我遇到的一个问题是用户在文本字段框中输入的可选字符串。我正在尝试将用户输入(字符串?)与 slider 值相乘,它是一个 float 。
我已经尝试了几种方法,强制解包、保护语句、if let 和类型转换,但我得到的所有东西都是类似的,Xcode 不允许我将两种类型混合在一起。我还将文本字段输入到一个可选的 Float(Float?),但 Xcode 仍然希望我找到一种方法将这两种类型放在一起。
我的文本框输入框是一个变量闭包。
private let priceTextField: UITextField = {
let textField = UITextField()
textField.placeholder = "$00.00"
textField.textColor = UIColor.black
textField.font = UIFont.init(name: "HelveticaNeue-Thin", size: 60)
textField.keyboardType = UIKeyboardType.numberPad
textField.textAlignment = .center
textField.borderStyle = UITextField.BorderStyle.roundedRect
textField.borderStyle = UITextField.BorderStyle.none
textField.sizeToFit()
textField.translatesAutoresizingMaskIntoConstraints = false
return textField
}()
这是我的 slider 操作函数,它将计算小费金额。
@objc func sliderChange() {
totalTipAmount.text = (tipSlider.value) * Float(priceTextField.text! as NSString)
myTipTextView.text = "My Tip (\(Int(tipSlider.value.rounded()))%):"
}
最佳答案
您的计算似乎没问题,但如果将 Float
代替 String
设置为 totalTipAmount
,它可能会引发编译器错误。你可以尝试如下,
@objc func sliderChange() {
guard let priceText = self.priceTextField.text, let price = Float(priceText) else { return }
totalTipAmount.text = "\(tipSlider.value * price)"
}
关于ios - Swift:如何将 UITextField 可选字符串解包为 Float,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55780246/
我正在尝试生成使用 Flutter 制作的应用程序的存档(IPA 文件)。我正在遵循官方指南:Preparing an iOS app for release: Create a build arch
在下面的示例中,我尝试为四个“功率”级别绘制“排放”与“电压”的箱线图,每个功率级别占据一个子图。 fig = plt.figure(figsize=(16,9)) i = 0 for Power i
我正在尝试使用 sankeyNetwork() 绘制桑基图在 networkD3 包中。 sankeyNetwork(Links = Flow_data, Nodes = Nodes_data,
作为 python 的新手,我第一次使用一些导入设置 Rodeo: import sys import pandas as pd import pylab as pl import numpy as
我正在致力于将测试从 webdriver 和 java 移植到 webdriverjs,我想知道是否有人可以帮助我理解为什么这样做: driver.get('http://www.google.com
我是一名优秀的程序员,十分优秀!