用户输入)返回nil
问题描述:
我想创建一个简单的用户输入,但我在SWIFT已经找到了唯一的功能是这个用户输入)返回nil
func input() -> String {
var keyboard = NSFileHandle.fileHandleWithStandardInput()
var inputData = keyboard.availableData
return NSString(data: inputData, encoding:NSUTF8StringEncoding) as String!
}
然后我试图转换输入()在这一点上的数学运算的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
}
它将返回零只有当你的输入()是零。确保它。你在哪里取1作为输入? – iRiziya
最可能的原因是该字符串包含一个尾随的换行符。 –
我在定义函数println(“引入一个数字”)之后执行此操作,然后var inputToInt = input()。toInt()! –