作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我是论坛的新手,也是 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/
我制作了一个函数,可以一次绘制来自多个因子分析的载荷,也可以绘制变量不完全重叠(或根本不重叠)的载荷。它可以正常工作,但有时在各个分析中因子加载是相同的,这意味着这些点会相互重叠绘制。 library
我是一名优秀的程序员,十分优秀!