Ios 无法强制转换类型为'__恩萨拉伊';(0x106d27d88)至';NSString';(0x107be3c40)
我正在尝试下载并过滤json数据。过滤json数据后,我打印了过滤后的数据,工作正常。但当我尝试将该数据附加到字符串类型的数组时,它会崩溃,错误是:- 无法将类型为“\uu NSArrayI”(0x106d27d88)的值强制转换为“NSString” (0x107be3c40)Ios 无法强制转换类型为'__恩萨拉伊';(0x106d27d88)至';NSString';(0x107be3c40),ios,arrays,iphone,json,swift,Ios,Arrays,Iphone,Json,Swift,我正在尝试下载并过滤json数据。过滤json数据后,我打印了过滤后的数据,工作正常。但当我尝试将该数据附加到字符串类型的数组时,它会崩溃,错误是:- 无法将类型为“\uu NSArrayI”(0x106d27d88)的值强制转换为“NSString” (0x107be3c40) 将该产品名称转换为字符串数组,如下所示。[字符串] 将productName=jsonObj?.value(forKey:“name”)设为![字符串] 然后点击以下链接 (一) (二) 范例 let productN
将该产品名称转换为字符串数组,如下所示。[字符串]
将productName=jsonObj?.value(forKey:“name”)设为![字符串]
然后点击以下链接
(一)
(二)
范例
let productName1 = ["1", "2", "3"]
var arrayForName1 = [String]()
arrayForName1 = ["name"]
let str = productName1.joined(separator: "")
// ["name", "123"]
// or
let str1 = productName1.joined(separator: ", ")
// ["name", "1, 2, 3"]
arrayForName1.append(str)
您的
productName
是一个数组,您正在将其转换为字符串,从而导致出现问题。您有两个选项来修复此基础:
productName
数组,并找到要附加到arrayForName1
数组的实际字符串的正确索引。所以你的代码看起来像
arrayForName1.append(productName[0])
productName
是一个字符串数组,并且希望将所有字符串添加到arrayForName1
,只需使用以下代码即可
arrayForName1+=productName
在json数据中,数组包含任何参数(如:Number=[“1”、“2”、“3”])
请发布您的代码,而不是屏幕截图。此外,您的
productName
实际上是一个数组,它包含所有这些元素,因此无法在@ShamasS的评论中转换为字符串。+1。而且,你似乎使用SWIFT 3,去掉了NSARTAL、NSCORE和其他基础(太Objul-C)的东西,并且更喜欢SWIFT(几乎没有同样的代码,没有NS< <代码>前缀)。当张贴试图概括问题时,它更容易搜索和上下文化。e、 g.0x106d27d88仅适用于发行时的机器。
var Number1:String? = ""
var NumberList:[String] = []
if let Number_from = anItem["Number"] as? String {
self.Number1 = Number_from
self.NumberList.append(self.Number1!)
} else {
self.NumberList.append("Not Available")
}