ios - 找到一个数字的最大值为我提供了 Optional()
问题描述
当试图在我的数组中找到最大的数字并将其显示在标签上时,我得到了我的解决方案Optional()
。我正在做什么来导致这种情况,我如何才能Optional()
在标签中没有围绕它的情况下显示我的解决方案。
class ViewController: UIViewController {
@IBOutlet weak var game1: UITextField!
@IBOutlet weak var game2: UITextField!
@IBOutlet weak var game3: UITextField!
@IBOutlet weak var series: UILabel!
@IBOutlet weak var average: UILabel!
@IBOutlet weak var high: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
@IBAction func calculate(_ sender: Any) {
guard
let text1 = game1.text,
let text2 = game2.text,
let text3 = game3.text
else { return }
guard
let game1Results = Int(text1),
let game2Results = Int(text2),
let game3Results = Int(text3)
else { return }
let gameResultsArray = [game1Results, game2Results, game3Results]
high.text = "\(String(describing: gameResultsArray.max()))"
}
解决方案
gameResultsArray.max()
返回可选值
max()
@warn_unqualified_access func max() -> Element?
返回序列中的最大元素。
像这样更改您的代码
let gameResultsArray = [game1Results, game2Results, game3Results]
if let maximumVal = gameResultsArray.max() {
high.text = String(maximumVal)
}
推荐阅读
- visual-studio-code - 如何在 Visual Studio Code Python 模块中禁用单元测试的自动发现
- r - 数据框中值的条件划分
- javascript - 如何避免多次追加
- bootstrap-4 - Bootstrap 4 导航栏切换器汉堡按钮不起作用
- excel - vba excel打开unicode文件名进行二进制访问读取
- javascript - 让箭头指向特定的 (x, y) 点
- evosuite - EvoSuite 无法连接到服务器
- javascript - 如何在“enddrag”上重新定位元素?
- ruby-on-rails - Heroku 上的活动存储
- design-patterns - 是否有一种模式的名称可以根据模型更改保持远程 UI 元素同步?