从'NSMutableArray'转换为不相关的类型'[String]'总是失败是因为它们是不同的数据类型。'NSMutableArray'是Objective-C中的可变数组类型,而'[String]'是Swift中的不可变数组类型。
在Objective-C中,可以使用以下代码将NSMutableArray转换为NSArray:
NSMutableArray *mutableArray = [NSMutableArray arrayWithObjects:@"Hello", @"World", nil];
NSArray *array = [NSArray arrayWithArray:mutableArray];
然而,在Swift中,由于类型安全性的考虑,不允许直接将NSMutableArray转换为[String]。但是,你可以通过以下方式将NSMutableArray转换为[String]:
let mutableArray: NSMutableArray = ["Hello", "World"]
let array = mutableArray.compactMap { $0 as? String }
在上述代码中,我们使用了compactMap
函数来遍历NSMutableArray中的元素,并将其转换为[String]类型。如果元素无法转换为String类型,则会被过滤掉。
推荐的腾讯云相关产品:无
请注意,以上答案仅针对给定的问题,可能并不涵盖所有相关知识点。
领取专属 10元无门槛券
手把手带您无忧上云