gpt4 book ai didi

ios - 用于解决数字和显示因数的 Swift 应用程序

转载 作者:可可西里 更新时间:2023-11-01 00:58:12 27 4
gpt4 key购买 nike

我是论坛的新手,也是 swift 语言的新手。我一直在玩 xcode,想创建一个应用程序,它使用 fenceloop 将数字的因数显示为“解决方案”。该应用程序当前使用标签显示、输入文本和启动按钮。我有我认为可以正常运行的代码,但我看不到它可以正常工作,因为据我了解,我必须将字符串输入转换为 int。如果有人有任何想法如何让它工作;因为我觉得我已经尽力了。

我遇到的特别问题是它说“无法将‘UITextField!; 类型的值转换为预期的参数类型‘Int’。我打算发生的是在单击按钮时,它解决了这些因素文本框中的任何内容并将其显示为标签中的字符串。感谢任何帮助!

import UIKit

class ViewController: UIViewController {

@IBOutlet var input1 : UITextField!
@IBOutlet var label : UILabel!

override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}

@IBAction func printFactors(n: Int) {
var result: String = ""
for i in 1...n {
guard n % i == 0 else {continue}
result += i == 1 ? "1" : " and \(i)"
}
print(result)

let outputText = printFactors(n: input1)
label.text = outputText
}



override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}


}

最佳答案

您的 printFactors 方法存在很多问题和困惑。让我们将其拆分并正确设置。

首先,创建一个单独的方法来计算:

func calculateFactors(n: Int) -> String {
var result: String = ""
for i in 1...n {
guard n % i == 0 else {continue}
result += i == 1 ? "1" : " and \(i)"
}
print(result)

return result
}

现在让我们设置按钮 Action :

@IBAction func factorAction(sender: UIButton) {
if let text = input1.text {
if let num = Int(text) {
let factor = calculateFactors(n: num)
label.text = factor
} else {
// Show the user that the entered text isn't a number
}
} else {
// There's no text
}
}

将按钮设置为使用新的 factoryAction: 方法而不是旧的 printFactors: 方法。

关于ios - 用于解决数字和显示因数的 Swift 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40183917/

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