Ich habe Probleme mit diesem Fehler.Typ 'NSFastEnumerationIterator.Element' hat keine tiefgestellten Mitglieder
Würdest du mir sagen, wie ich diesen Code am Training repariere?
Jede Hilfe wird geschätzt.
// Dies sind JSON-Daten.
{
"boxOfficeResult":{
"boxofficeType":"일별 박스오피스",
"showRange":"20161020~20161020",
"dailyBoxOfficeList":[
{
"rnum":"1",
"rank":"1",
"rankInten":"0",
"rankOldAndNew":"OLD",
"movieCd":"20153444",
"movieNm":"럭키",
"openDt":"2016-10-13",
"salesAmt":"1452501900",
"salesShare":"60.2",
"salesInten":"-85908900",
"salesChange":"-10",
"salesAcc":"23329189948",
"audiCnt":"193801",
"audiInten":"-11203",
"audiChange":"-10",
"audiAcc":"2879481",
"scrnCnt":"968",
"showCnt":"4961"
}, ...
// Dies ist Code.
var list = Array<MovieVO>()
override func viewDidLoad() {
let apiURI = NSURL(string: "http://www.kobis.or.kr/kobisopenapi/webservice/rest/boxoffice/searchDailyBoxOfficeList.json?key=a7497a5e700fdff2f3fd468b604d9d18&targetDt=20161020")
let apidata : NSData? = NSData(contentsOf: apiURI! as URL)
NSLog("result = %@", NSString(data: apidata! as Data, encoding: String.Encoding.utf8.rawValue)!)
do {
let apiDictionary = try JSONSerialization.jsonObject(with: apidata! as Data, options: []) as! NSDictionary
let boxOfficeResult = apiDictionary["boxOfficeResult"] as! NSDictionary
let dailyBoxOfficeList = boxOfficeResult["dailyBoxOfficeList"] as! NSArray
var mvo : MovieVO
for row in dailyBoxOfficeList {
mvo = MovieVO()
mvo.rank = row["rank"] as? String // error occur
mvo.movieNm = row["movieNm"] as? String
mvo.openDt = row["openDt"] as? String
mvo.audiCnt = row["audiCnt"] as? String
self.list.append(mvo)
}
} catch {
}
}
Wie soll der Compiler wissen, dass 'row' ein Wörterbuch ist, das Sie mit einem String indizieren können? – Alexander