2016-11-29 3 views
0

У меня есть базовая установка tableview, в которую загружаются данные JSON. Я использую Fabric для отчетов о сбоях, я пытался реплицировать сбой, но я мог догадаться о сценарии из отчета о сбоях.swift - tableview EXC_BREAKPOINT crash

override func viewDidLoad() { 
    let id = newID 
    API.sharedInstance.loadList(id, callback: { (list) in 
     if let data = list["objects"].arrayValue as [JSON]?{ 
      self.jsonData = data 
      self.tableView.reloadData() 
      self.refreshControl?.endRefreshing() 
      self.loadingView?.removeFromSuperview() 
      } 
    })  
} 
override func numberOfSectionsInTableView(tableView: UITableView) -> Int { 
return 1 
} 

override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
     return self.jsonData?.count ?? 0 
} 

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 
     let cell = tableView.dequeueReusableCellWithIdentifier("CustomCell") as! CustomTableViewCell 
      cell.yazar = self.jsonData?[indexPath.row] 
     return cell 
} 

Отчет об ошибке:

#0. Crashed: com.apple.main-thread 
    0 libswiftCore.dylib    0x10111e588 specialized _fatalErrorMessage(StaticString, StaticString, StaticString, UInt) ->() + 44 
    1 libswiftCore.dylib    0x100ff7654 specialized _ArrayBuffer.getElement(Int, wasNativeTypeChecked : Bool) -> A + 270 
    2 libswiftCore.dylib    0x10100db30 Array.subscript.getter + 112 
    3 yazar.io      0x10021c4d0 GazetininYazarlariTableViewController.tableView(UITableView, cellForRowAtIndexPath : NSIndexPath) -> UITableViewCell (CustomViewController.swift:290) 

редактировать: в моем tableviewcell

var yazar:JSON?{ 
     didSet{ 
      self.setupYazar() 
     } 
} 

ответ

0

cell.yazar имеет другой тип (Int), чем self.jsonData?[indexPath.row] (Bool).

+0

yazar в моей ячейке тоже json. Отредактировал код в моем вопросе. –

+0

Выйдите из 'self.jsonData? [IndexPath.row]' и почтовый код для 'self.setupYazar()' – shallowThought