如果没有上下文类型,则无法解析对成员 'subscript' 的引用

Reference to member 'subscript' cannot be resolved without a contextual type

我需要将字符串数组转换为整数。

import UIKit

var test = ["1", "2"]
let test1 = Int(test)[0]
let test2 = Int(test)[1]
print(test1 + test2)

^ 这是我正在尝试做的事情的基本想法,但我得到“没有上下文类型就无法解析对成员 'subscript' 的引用”。这甚至可能吗?

尝试在 test 数组上使用下标,而不是在 Int 初始值设定项的结果上使用下标:

var test = ["1", "2"]
let test1 = Int(test[0])
let test2 = Int(test[1])

但是,您可以更快速地实现您正在尝试的目标:

var test = ["1", "2"]
print(test.compactMap(Int.init).reduce(0, +))

或仅 reduce(_:_:):

var test = ["1", "2"]
print(test.reduce(0) { [=12=] + (Int() ?? .zero) })