이 오류로 인해 문제가 있습니다.유형 'NSFastEnumerationIterator.Element'에는 아래 첨자 멤버가 없습니다.
운동에이 코드를 수정하는 방법을 알려주시겠습니까?
도움이 될 것입니다.
// 이것은 JSON 데이터입니다.
{
"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"
}, ...
// 이것은 코드입니다.
let dailyBoxOfficeList = boxOfficeResult["dailyBoxOfficeList"] as! [[String: Any]]
스위프트 3 년, NSArray
의 요소 유형이 Any
될 수 있으며,이 같은 뭔가
let dailyBoxOfficeList = boxOfficeResult["dailyBoxOfficeList"] as! NSArray
:
는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 {
}
}
컴파일러는'row'가 String으로 subscript 할 수있는 사전인지 어떻게 알 수 있습니까? – Alexander