我正在用2 TableView開發一個UIViewController,遵循Swift規範我創建了一個用於管理TableViews的UITableViewDelegate和UITableViewDataSource接口的類。Swift - iOS:意外地發現零,同時展開一個可選值
class CurrencyController: UIViewController, UITableViewDelegate, UITableViewDataSource {
var valute = [NSManagedObject]()
var categoria = [NSManagedObject]()
//....
}
我寫的FUNC鍵,支持重排的TableView:
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
if tableView == self.tabCurrency{
//
let cell = tableView.dequeueReusableCellWithIdentifier("currencyRow", forIndexPath: indexPath) as! CurrencyCell
let thisElem = valute[indexPath.row]
cell.curName.text = thisElem.valueForKey("valuta") as! String? //This code generates the exception
let elem = thisElem.valueForKey("cambio") as! Double? //This code generates the exception
cell.rateCur.text = "\(elem!)"
return cell
}else{
//
let cell = tableView.dequeueReusableCellWithIdentifier("categoryRow", forIndexPath: indexPath) as! CategoryCell
let thisElem = categoria[indexPath.row]
cell.catName.text = thisElem.valueForKey("cat_name") as! String? //This code generates the exception
return cell
}
}
此代碼生成unexepctedly發現而展開的可選值但使用PO命令零隻見該變量不包含零值...
任何想法?謝謝
UPDATE: 我寫了「valute」和「categoria」對象的聲明。
'thisElem'是什麼類型? – vadian
對不起,我沒有寫這個埃爾姆的類型。 thisElem類型是NSManagedObject – N3tMaster
編譯器不會抱怨as!字符串?'。它或者是as!字符串'強制鑄造或'作爲?字符串可選綁定,但沒有尾隨問號。 – vadian