gpt4 book ai didi

swift - 访问从 Obj-C 桥接的二维数组时模糊使用下标

转载 作者:行者123 更新时间:2023-11-28 16:18:53 24 4
gpt4 key购买 nike

这段在 Xcode 7.0 中完美运行的代码现在报错:第二行 Xcode 7.3.1 中下标的使用不明确。

    let ar = sender.draggingPasteboard().propertyListForType("ABLinkedPeopleUIDsPboardType") as! NSArray?

let uniqueID = ar![0][0] as! String

我知道 NSArray 本身现在被认为是不好的做法,但是我需要做什么才能编译和运行它?

最佳答案

NSArray 是一维数组,但您正试图将其用作二维数组。我看不出这将如何编译。

您需要立即转换为 Swift 类型,以便您可以继续使用 Swift 进行编程,而不是在强制展开的 Optional 的海洋中随波逐流。

怎么样:

if let ar = sender.draggingPasteboard().propertyListForType("ABLinkedPeopleUIDsPboardType") as? [[String]] { 
// I'm assuming you're expecting to get back a two-dimensional array of Strings, or in the Obj-C realm, an NSArray of NSArrays of NSStrings
let uniqueID = ar[0][0]
}
else {
print("Property List for ABLinkedetc. is not a 2D String Array!")
}

Hayden 的链接是正确的一般性讨论,但如果您不熟悉将 Obj C 桥接到 Swift,则可能很难在您的特定情况下应用。

关于swift - 访问从 Obj-C 桥接的二维数组时模糊使用下标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38733518/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com