Convert Character to Int in Swift 2.0(在 Swift 2.0 中将字符转换为 Int)
问题描述
我只想将 character 转换为 Int.
I just want to convert a character into an Int.
这应该很简单.但我还没有发现以前的答案有帮助.总是有一些错误.也许是因为我正在 Swift 2.0 中尝试它.
This should be simple. But I haven't found the previous answers helpful. There is always some error. Perhaps it is because I'm trying it in Swift 2.0.
for i in (unsolved.characters) {
fileLines += String(i).toInt()
print(i)
}
推荐答案
在 Swift 2.0 中,toInt()
等已被替换为初始化器.(在这种情况下,Int(someString)
.)
In Swift 2.0, toInt()
, etc., have been replaced with initializers. (In this case, Int(someString)
.)
因为不是所有的字符串都可以转换成int,所以这个初始化器是failable的,也就是说它返回一个可选的int(Int?
)而不仅仅是一个 Int
.最好的办法是使用 if let
解开这个可选项.
Because not all strings can be converted to ints, this initializer is failable, which means it returns an optional int (Int?
) instead of just an Int
. The best thing to do is unwrap this optional using if let
.
我不确定你到底想要什么,但这段代码在 Swift 2 中工作,并完成了我认为你正在尝试做的事情:
I'm not sure exactly what you're going for, but this code works in Swift 2, and accomplishes what I think you're trying to do:
let unsolved = "123abc"
var fileLines = [Int]()
for i in unsolved.characters {
let someString = String(i)
if let someInt = Int(someString) {
fileLines += [someInt]
}
print(i)
}
或者,对于更快捷的解决方案:
Or, for a Swiftier solution:
let unsolved = "123abc"
let fileLines = unsolved.characters.filter({ Int(String($0)) != nil }).map({ Int(String($0))! })
// fileLines = [1, 2, 3]
您可以使用 flatMap
进一步缩短它:
You can shorten this more with flatMap
:
let fileLines = unsolved.characters.flatMap { Int(String($0)) }
flatMap
返回一个 Array
,其中包含将 transform
映射到 self
的非零结果"……所以当 Int(String($0))
为 nil
时,结果被丢弃.
flatMap
returns "an Array
containing the non-nil results of mapping transform
over self
"… so when Int(String($0))
is nil
, the result is discarded.
这篇关于在 Swift 2.0 中将字符转换为 Int的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:在 Swift 2.0 中将字符转换为 Int
基础教程推荐
- 如何让对象对 Cocos2D 中的触摸做出反应? 2022-01-01
- 当从同一个组件调用时,两个 IBAction 触发的顺序是什么? 2022-01-01
- 如何在 UIImageView 中异步加载图像? 2022-01-01
- 如何在 iPhone 上显示来自 API 的 HTML 文本? 2022-01-01
- 在 gmail 中为 ios 应用程序检索朋友的朋友 2022-01-01
- Android:对话框关闭而不调用关闭 2022-01-01
- UIWebView 委托方法 shouldStartLoadWithRequest:在 WKWebView 中等效? 2022-01-01
- android 应用程序已发布,但在 google play 中找不到 2022-01-01
- 如何在没有IB的情况下将2个按钮添加到右侧的UINavigationbar? 2022-01-01
- Kivy Buildozer 无法构建 apk,命令失败:./distribute.sh -m “kivy"d 2022-01-01