gpt4 book ai didi

ios - 在 Swift 中向下转换 NSObject

转载 作者:搜寻专家 更新时间:2023-10-31 22:13:28 28 4
gpt4 key购买 nike

我正在学习 Swift 并试图了解有关向下转换的一些内容。 NSDictionary 在 Swift 中表示为 [NSObject:AnyObject]。据我所知,这可以向下转换为更具体的类型(例如 [Int: String])。当我们谈论 Objective-C 时,我知道 NSObject 是基类,但是在 Swift 中它是如何被向下转换为 String 或 Integer 的呢?据我了解,Swift 原生类型不是 NSObject 的子类。

最佳答案

好问题!实际发生的是 Objective-C 和 Swift 之间交互的一些魔法,让您的生活更轻松:例如,您可以向下转换为 [String: Int] 如果您的原始 NSDictionary 包含 NSStringNSNumber。虽然 NSStringNSNumber 确实是不同于 StringInt 的类型,但 Apple 决定有如此明显的相关性为您进行转换。换句话说,它的工作原理与它的工作原理相同:

let object = NSNumber(value: 4)
let swiftVersion = object as Int

关于ios - 在 Swift 中向下转换 NSObject,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38387556/

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