无法将类型'__NSCFConstantString'的值强制转换为'NSArray'

雷射2302

我从服务器收到了一个JSON响应,其中包含字典元素,并且其中一个元素可能是包含诸如[“ abc”,“ def”,“ ghi”]之类的值的数组,并且我正在将该数组分配给名为数组,如下面的代码所示:

self.array = infoDictionary["element1"] as! [String]

我面临的问题是,如果键“ element1”不为null,则出现错误:

无法将类型'__NSCFConstantString'的值强制转换为'NSArray'

这导致我的应用程序崩溃。如果出现“”对“ element1”的情况,如何保存我的应用程序免于崩溃?

瓦迪安

错误消息指出key的值element1String而不是Array

如果该值可以是两个String[String]则必须检查类型:

if let item = infoDictionary["element1"] {
   if item is String {
      print("I'm String")
   } else if item is [String] {
      print("I'm Array")
   }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

无法将类型'__NSCFNumber'()的值强制转换为'NSArray'swift

Swift JSON错误:无法将类型'__NSDictionaryM'的值强制转换为'NSArray'

无法将类型'__NSCFSet'(0x109b56408)的值强制转换为'NSArray'Swift 4

无法将类型“ NSArray”的值转换为预期的参数类型“ [任何]!”

将NSDictionary的NSArray转换为字典值的NSArray

Swift返回“无法将表达式的类型'NSArray'转换为'NSManagedObject'类型”

无法强制将“ [记录]”类型的值转换为“记录”类型

无法强制将'UIViewController'类型的值转换为'TableView'类型

将JSON转换为NSArray

将NSDictionary转换为NSArray

将NSArray转换为NSString

将NSArray转换为CFStringRef *

无法将类型“ UITableViewController”的值强制转换为“ UINavigationController”

无法将类型“ NSTaggedPointerString”的值强制转换为“ NSNumber”

无法将类型NSTaggedPointerString的值强制转换为NSDictionary

无法将类型'__NSCFData'的值强制转换为'NSDate'

无法将类型'__NSCFString'的值强制转换为'NSData'

值影响后,无法将类型强制转换为“布尔”

无法将类型T的值强制转换为T

无法将类型UITableViewCell的值强制转换为“ ActuTblCell”

将NSString的NSArray转换为NSNumber的NSArray的更好方法

无法将类型“ NSArray”的值分配给类型“ [AnyObject]”的值

无法将json类型的值分配给NSArray类型的值

从'Result <AnyObject>'强制转换为不相关的类型'NSArray'总是失败

将NSArray转换为NSMutableArray Swift

如何将json转换为NSArray

将NSData对象转换为NSArray

如何将nsstring转换为nsarray?

Swift错误:强制转换时无法将B类型的值转换为A类型