gpt4 book ai didi

swift - 无法将类型 NSSingleObjectArray 的值转换为 NSMutableArray

转载 作者:IT王子 更新时间:2023-10-29 05:39:17 28 4
gpt4 key购买 nike

自 iOS10 以来,我面临着这个问题:

Could not cast value of type '__NSSingleObjectArrayI' to 'NSMutableArray' .

这是我的代码:

manage.POST( url, parameters: params,
constructingBodyWithBlock: { (data: AFMultipartFormData!) in
//Some stuff here
},
success: { (operation: NSURLSessionDataTask?, responseObject: AnyObject?) in

var array : NSMutableArray!

if AppConfig.sharedInstance().OCR == "2"{
let dictionnary = responseObject as! NSDictionary
array = dictionnary["data"]! as! NSMutableArray
}else{
//!!!!CRASH HERE!!!!!
array = responseObject as! NSMutableArray
}
//Some stuff after
}

当我寻找 responseObject 值时,我的控制台中有这个:

Printing description of responseObject:
▿ Optional<AnyObject>
▿ Some : 1 elements
- [0] : Test

如何从 responseObject 中提取值“Test”?

非常感谢

最佳答案

崩溃的发生是因为您假设您收到的对象是 NSMutableArray,即使该对象是在您的代码之外创建的。

在这种情况下,您的代码获取的数组是为处理单个元素而优化的数组实例;这就是类型转换不成功的原因。

发生这种情况时,您可以制作对象的可变副本:

array = (dictionnary["data"]! as! NSArray).mutableCopy() as! NSMutableArray

array = (responseObject as! NSArray).mutableCopy() as! NSMutableArray

关于swift - 无法将类型 NSSingleObjectArray 的值转换为 NSMutableArray,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39723539/

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