gpt4 book ai didi

swift - 如何通过使用 viewController 中的类函数来访问编辑 UILabel

转载 作者:行者123 更新时间:2023-11-30 10:13:22 25 4
gpt4 key购买 nike

ViewController 有一个名为 userInput 的文本字段,它允许用户添加值,所以我想在用户按下计算按钮时更改标签名称。我使用一个类来修改标签名称,当从类内部调用viewController标签时,xcode显示“viewController没有成员名称userAnswer”,但我的代码确实有一个名为userAnswer的标签。

import UIKit

class ViewController2: UIViewController,UIPickerViewDataSource,UIPickerViewDelegate {

@IBOutlet var userInput: UIPickerView!

@IBOutlet var userTo: UIPickerView!

@IBOutlet var userValue: UITextField!

@IBAction func calculate(sender: AnyObject) {
var textboxValue = userValue.text.toInt()

if textboxValue != nil {

if selection1 == 0 {

let milimeter = Milimeter()
milimeter.toCnverter(textboxValue!, item: selection2)
userAnswer.text = " "

} else if selection1 == 1 {

} else if selection1 == 2 {

} else if selection1 == 3 {

} else if selection1 == 4 {

}


} else {

userAnswer.text = "Please enter a Value"
}

}

@IBOutlet var userAnswer: UILabel!

let length1 = ["Milimeter","Centimeter","Inch","Meter","Kilometer"]
let length2 = ["Milimeter","Centimeter","Inch","Meter","Kilometer"]
var selection1 = 0
var selection2 = 0

override func viewDidLoad() {
super.viewDidLoad()

// Do any additional setup after loading the view.

userInput.delegate = self
userInput.dataSource = self

userTo.delegate = self
userTo.dataSource = self
}

class Milimeter {

func toCnverter(value: Int, item: Int) {

switch item {

case 0:
userAnswer.text = " " // i can't access , shows error
case 1:
println("Inch")

case 2:
println("Kilometer")

default:
println(" ")

}
}
}
}

最佳答案

您似乎忘记将 UIStoryboard 中的 UILabel 与代码中的 UILabel 连接起来。为了 100% 确定,请从代码中删除该变量并将 socket 从 UIStoryboard 重新连接到您的代码。

查看完整代码后进行编辑:

您的 class Millimeter 不知道您的 UILabel,因为它不是它的属性,而是 UIViewController 的属性。

我的建议:func toConverter 应返回其转换的内容。这使得它也可以测试 -> func toConverter(value: Int, item: Int) -> String

您的 if 语句 如下所示:

if selection1 == 0 {
let milimeter = Milimeter()
userAnswer.text = milimeter.toCnverter(textboxValue!, item: selection2)
}

Here有关 swift 中访问控制的更多信息

关于swift - 如何通过使用 viewController 中的类函数来访问编辑 UILabel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31668070/

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