Sto cercando di ottenere alcuni dati da un contenuto JSON (nel mio file data.swift) e assegnarlo a "commenti" ". Qualcuno sa cosa sta andando male qui e come posso risolvere il problema? Sembra un problema di sintassi con cui ho problemi.Can not subscript un valore di tipo '[String: AnyObject]' con un indice di tipo 'String'
L'errore che sto ottenendo:
import UIKit
class CommentsTableViewController: UITableViewController {
var story = [String:AnyObject]()
var comments = [String:AnyObject]()
override func viewDidLoad() {
super.viewDidLoad()
comments = story["comments"]
tableView.estimatedRowHeight = 140
tableView.rowHeight = UITableViewAutomaticDimension
}
Non è gradire la parte comments = story["comments"]
.
Grazie Darren. Ho fatto così e dopo averlo eseguito si è bloccato e mi ha dato questo messaggio: Impossibile trasmettere il valore di tipo 'Swift._SwiftDeferredNSArray' (0x10716fff0) a 'NSDictionary' (0x104b46d60). Consigli su come procedere? – hkhan
L'errore di runtime significa che 'story [" comments "]' contiene effettivamente una matrice piuttosto che il dizionario che si aspetta. È possibile utilizzare il debugger per impostare un punto di interruzione e ispezionare il contenuto di 'self.story', oppure è possibile stampare il contenuto utilizzando' NSLog ("% @", self.story) '. Oppure, puoi dichiarare 'self.comments' come una matrice invece di un dizionario (e modificare di conseguenza il typecast). – Darren