import UIKit
class ViewController: UIViewController {
@IBOutlet weak var userGuessTextField: UITextField!
@IBOutlet var resultLabel: UIView!
@IBAction func Guess(sender: AnyObject) {
let diceRoll = String(arc4random_uniform(6))
if diceRoll == userGuessTextField.text
{
resultLabel.text = "You are right"
}
else
{
resultLabel.text = "You are "
}
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
任何人都可以帮助我吗?为什么我收到此错误,因为我是iOS的初学者并且学习这门语言。
答案 0 :(得分:2)
请改变......
@IBOutlet var resultLabel: UIView!
到
@IBOutlet var resultLabel: UILabel!
答案 1 :(得分:2)
您正在设置@IBOutlet var resultLabel: UIView!
这样的插座,它的类型为UIView
,因此您的resultLabel
对象属于UIView
且它没有属性text
< / p>
我认为你应该选择UILabel
代替UIView
。
因此,在界面构建器中拖动一个标签 - 按住Ctrl键并从中拖动到类(在助理编辑器中) - 并输出插座名称。
希望这会有所帮助:)
答案 2 :(得分:0)
UIView
类定义了屏幕上的矩形区域以及用于管理该区域内容的界面。
...通过子类化UIView并自己实现必要的绘图和事件处理代码,可以呈现更复杂的内容。 UIKit框架还包括一组标准子类,范围从简单按钮到复杂表,可以按原样使用。例如,一个UILabel
对象绘制文本字符串,UIImageView
对象绘制图像。
从storyboard / xib中删除resultLabel(删除UIView
并拖动新的UILabel
)并从代码更改中删除:
从:
@IBOutlet var resultLabel: UIView!
到
@IBOutlet var resultLabel: UILabel!
然后将您的新UILabel
与代码中的IBOutlet相关联。