swift toInt() 中的用户输入返回 nil

User input in swift toInt() returning nil

我正在尝试创建一个简单的用户输入,但我在 swift 中找到的唯一功能就是这个

func input() -> String {
    var keyboard = NSFileHandle.fileHandleWithStandardInput()
    var inputData = keyboard.availableData
    return NSString(data: inputData, encoding:NSUTF8StringEncoding) as String!
}

然后我尝试将 input() 转换为 Int 以进行数学运算(我使用 1 作为输入)

var inputToInt = input().toInt()!

在这一点上我只得到零我不知道该怎么做。

您转换为 Int 失败,因为字符串包含换行符。您可以使用它来清理它:

let s = NSString(data: inputData, encoding:NSUTF8StringEncoding) as String!
if s.hasSuffix("\n") {
    return s.substringToIndex(x.endIndex.predecessor())
} else {
    return s
}

Swift 2.0 有一个名为 readLine() 的函数 - 使用它比自己动手要好得多。

http://swiftdoc.org/swift-2/func/readLine/