与 Lynda 一起学习 iOS : Getting error can't invoke 'init' with argument of type @lvalue String

标签 ios swift ios9

我正在尝试关注lynda's (不确定非成员(member)是否可以看到)有关 iOS 9 和 Swift 的教程,但我收到与截屏视频不匹配的错误。如果有人熟悉的话,这是教程:“控制点击的数字何时不应出现在计算器中”

这是我正在尝试构建的一个基本计算器。基本思想是将标签内的数字放入字符串中,然后转换回数字,然后将其放回字符串中,这样当按下“0”按钮时,计算器上就不会出现多个零。

func updateText() {
    let labelInt:Int = Int(labelString)
    --> Cannot invoke 'init' with an argument of type '@lvalue String'
    label.text = "\(labelInt)"
}

在截屏视频中,错误有所不同:

func updateText() {
    let labelInt:Int = Int(labelString)
    --> Value of optional type 'int?' not unwrapped; did you mean to use '!' or '?'?
    label.text = "\(labelInt)"
}

编辑:屏幕截图

enter image description here

最佳答案

您需要使用 ! 符号解开 labelString 值,因此可以这样写:

func updateText() {
    let labelInt:Int = Int(labelString)!
    label.text = "\(labelInt)"
}

希望这对您有帮助。

关于与 Lynda 一起学习 iOS : Getting error can't invoke 'init' with argument of type @lvalue String,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37426930/

相关文章:

ios - 如何使用 SwiftUI 复制外观粗糙的笔记应用程序背景?

swift - 将键值中的整数相加,直到出现一位数

ios - 如何从聚光灯搜索中启动该应用程序?

ios - iOS 上的共享首选项

iphone - 加载横向和纵向时 UIWebView 框架填充屏幕

ios - 如何将 UITableView 作为 UIView 的 subview 添加?

ios9 - WCSession 的 TransferUserInfo 不再可靠地在带有 iOS 9.3 的 watchOS 2.2 中工作

ios - UITableView 中的自定义单元格(iOS 9)

ios - 使用 WatchConnectivity 将姓名和生日发送到Watch

ios - 带有小数和长度的 Swift TextField 限制