我有一些代码可添加数据
for v_p_item in v_p!{
print(v_p_item["nama"])
let names = v_p_item["nama"]
let vpids = v_p_item["id"]
self.vpid.append(vpids as AnyObject)
self.SList.append(names as AnyObject)
self.srcVp.theme.bgColor = UIColor (red: 1, green: 1, blue: 1, alpha: 1)
print(self.vpid)
print(self.SList)
self.srcVp.filterStrings(self.SList as! [String])
self.srcVp.itemSelectionHandler = { filteredResults, itemPosition in
// Just in case you need the item position
let item = filteredResults[itemPosition]
print("Item at position \(itemPosition): \(item.title)")
print(self.idvp)
// Do whatever you want with the picked item
self.srcVp.text = item.title
self.idvp = item.title
self.srcVp.endEditing(true)
print(self.idvp)
}
}
我有这样的错误
无法将类型为'_SwiftValue'(0x1050235f8)的值强制转换为'NSString' (0x103955568)。 2019-04-12 13:45:03.552716 + 0700 mytelkomsat [10366:196119]无法转换类型为“ _SwiftValue”的值 (0x1050235f8)转换为“ NSString”(0x103955568)。
答案 0 :(得分:0)
在self.SList
行中对self.srcVp.filterStrings(self.SList as! [String])
进行强制包装确实意味着您确定数组对象是String
类型的。
然后您可以将SList定义为:
var SList = [String]() or, var SList: [String]? // initialize later on
并将对象附加为:
if let names = v_p_item["nama"] as? String {
self.SList.append(names)
}
根据self.vpid
所保存的数据类型,可以执行相同的操作。