基本的Swift语法

时间:2018-01-30 06:42:29

标签: swift

@IBAction func inputformula(_ sender: Any) {
    guard let formulaText = formulalabel.text else {
        return
    }
    guard let senderedText = sender.titleLabel.text else {
        return
    }
    formulaLabel.text = formulaText + senderedText
}

我无法理解下面文字中的语法。

guard let senderedText = sender.titleLabel.text else

什么是sender.titleLabel

如果您有任何有用的网址,请告知我们。

2 个答案:

答案 0 :(得分:1)

我真的不知道你想要问什么,但是......
你问的是sender.titleLabel是什么:我认为你的行动是由一个按钮触发的。如果我在这里你的发件人是你的按钮,那么sender.titleLabel是发件人的标题(即按钮) 有用的资源可能是:

https://developer.apple.com/documentation/uikit/uibutton https://developer.apple.com/documentation/uikit/uilabel

也许您首先要了解基础知识:

https://developer.apple.com/documentation/uikit

答案 1 :(得分:0)

您的代码无法编译。 senderAny,因此您无法直接访问该媒体资源titleLabel。你要么写:

guard let senderedText = (sender as? UIButton)?.titleLabel?.text else {
    return
}

或更改参数类型:

@IBAction func inputformula(_ sender: UIButton) {

正如您所看到的,我推断senderUIButton,因为UIButton has a titleLabel property.希望这是您感到困惑的事情。

guard语句检查按钮的文本是否为零。如果是,则返回,否则继续。