Swift 集合类型全解析
1. 数组类型转换
在 Swift 中,现在可以直接返回 String 类型的数组。而以前,这些数组是无类型的,需要你自己将其转换为 String 数组。不过,轻量级泛型并非无处不在。你可能会从磁盘上的 .plist 文件中读取数组,或者从 UserDefaults 中获取数组,甚至可能会处理尚未更新以使用轻量级泛型的 Objective - C API。在这些情况下,最终可能会得到一个普通的 NSArray 或 Any 类型的 Swift 数组。
以下是一个 Objective - C 类的示例,其中一个方法返回的 NSArray 未标记元素类型:
@implementation Pep
- (NSArray*) boys {
return @[@"Manny", @"Moe", @"Jack"];
}
@end
若要调用该方法并对结果进行有效处理,就需要将结果转换为 String 数组。如果确定转换可行,可以强制转换:
let p = Pep()
let boys = p.boys() as! [String]
但要注意,强制转换时不能出错。因为 Objective - C 数组可以包含多种类型
超级会员免费看
订阅专栏 解锁全文
35

被折叠的 条评论
为什么被折叠?



