swift - 从命令行读取 int 返回 nil swift toInt()

标签 swift

努力学习 swift - 从命令行读取就好了,但是当我尝试转换为 int 时,我总是得到 nil

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

var test = getInput()
println(test)
var testInt = test.toInt()
println(testInt)

产生输出

123
123

nil

看起来从命令行读取的内容中有一个额外的换行符 - 所以我尝试替换空格无济于事

test = getInput().stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceCharacterSet())

这给出了相同的输出。有什么想法吗?

最佳答案

试试这个:

test = getInput().stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceAndNewlineCharacterSet())

关于swift - 从命令行读取 int 返回 nil swift toInt(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29259270/

相关文章:

ios - 如何使Pageviewcontroller背景透明

ios - 如何让 scrollview 将触摸事件传递给 superview?

swift - 调用以函数作为参数的对象的函数

ios - 选择后从 UIPicker 中删除字符串

ios - Playground 消息 "number of times"

objective-c - CocoaPods 安装旧版本框架

ios - 类型转换细胞类型出队的问题

ios - 贝塞尔曲线路径不在上下文中绘制

swift - NavigationView + GeometryReader View 返回不正确的大小

swift - 当 AsyncImage SwiftUI 中的图像 URL 发生变化时,如何监听新阶段的成功