我有一個函數斯威夫特3三元運算錯誤類型「任何」無標會員
func test (food_item_raw:NSArray){
for j in 0...food_item_raw.count-1{
let food_name = food_item_raw[j]["food_name"] as? String == nil ? "nil" : food_item_raw[j]["food_name"] as! String
let food_url = food_item_raw[j]["food_url"] as? String == nil ? "nil" : food_item_raw[j]["food_url"] as! String
let food_price = food_item_raw[j]["food_price"] as? String == nil ? "nil" : food_item_raw[j]["food_price"] as! String
let food_desc = food_item_raw[j]["food_desc"] as? String == nil ? "nil" : food_item_raw[j]["food_desc"] as! String
//let food_item = FoodItems(food_url: food_url, food_name: food_name, food_catagory: food_type,food_price: food_price, food_desc: food_desc)
//weakFoodArray.append(food_item)
}
}
這是工作的罰款斯威夫特2和SWIFT 2.3,但在迅疾3我得到錯誤Type 'Any' has no subscript members
這裏是截圖
我不認爲這是一個三元運算符問題。我猜如果你寫'prinf(food_item_raw [j] [「food_name」])'你會得到同樣的問題。我想說,你可能必須(也可能更清楚):'讓foodObject = food_item_raw [j]作爲NSDictionary'(或者像[[String:Any]'同化),然後'let food_name = foodObject [「food_name 「]爲? String == nil? 「nil」:foodObject [「food_name」] as! String' – Larme