Я выполняю NSURLSession
чтобы получить данные из php, который является JSON. Когда я делаю NSJSONSerialization
и хранить его как NSArray
все работает нормально, но когда я пытаюсь получить доступ к его элементу, чтобы поместить его в табличное представление, происходит сбой с найденной ошибкой nil при развертывании необязательного значения. Возвращаемый JSON выглядит следующим образом:
[
{
"title":"data",
"value":"data"}, ...
]
Код, который я использую для получения значения:
self.arrayJSON[indexPath.row]["title"]
И когда я пытаюсь это в консоли XCode возвращает это:
▿ Optional(some data)
- Some : some data
РЕДАКТИРОВАТЬ:
Код синтаксического анализа JSON:
let task = session.dataTaskWithRequest(request) { (data:NSData?, response:NSURLResponse?, error:NSError?) -> Void in
do {
let responseJSON : NSArray = try NSJSONSerialization.JSONObjectWithData(data!, options: []) as! NSArray
self.arrayJSON = NSMutableArray(array: responseJSON)
dispatch_async(dispatch_get_main_queue()) {
self.listaAnuncios.reloadData()
}
} catch {
print("json error")
}
}
task.resume()
Я нашел проблему! Это было не из-за доступа к элементу, а из-за того, что ячейка была нулевой. Я использовал это:
let cell : CustomCell = CustomCell()
и я изменил это для этого:
let cell = tableView.dequeueReusableCellWithIdentifier("customCell", forIndexPath: indexPath) as! CustomCell
Других решений пока нет …