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

时间:2015-07-13 05:18:46

标签: swift null

我正在尝试创建一个简单的用户输入,但我在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()!

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

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

Swift 2.0有一个名为readLine()的函数 - 使用它比滚动自己更好。

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