【发布时间】:2014-11-05 20:38:15
【问题描述】:
所以,我正在学习如何使用 JSON 从数据库中获取数据,然后将数据放在某个数组中。问题出现在最后一行citiesArray.addObject(City()),当我需要将对象city(id、name、state...)中的所有数据放入数组时。
我正在逐行查看编译器,基本上一切都很好,只是最后我的数组仍然是空的(它的值是nil)?
for (var i=0;i<jsonArray.count;i++){
//Create city objec
var cID: AnyObject? = jsonArray.objectAtIndex(i).objectForKey("id") as NSString
var cName: AnyObject? = jsonArray.objectAtIndex(i).objectForKey("cityName") as NSString
var cState: AnyObject? = jsonArray.objectAtIndex(i).objectForKey("cityState") as NSString
var cPopulation: AnyObject? = jsonArray.objectAtIndex(i).objectForKey("cityPopulation") as NSString
var cCountry: AnyObject? = jsonArray.objectAtIndex(i).objectForKey("country") as NSString
//add city obj (i have City class) to city array
var city = City()
city.cityID = cID as NSString
city.cityName = cName as NSString
city.cityState = cState as NSString
city.cityPopulation = cPopulation as NSString
city.cityCountry = cCountry as NSString
citiesArray.addObject(City())
}
【问题讨论】:
-
最后一行应该是
citiesArray.addObject(city)... -
我试过 City(), city, City, city.cityName, City().cityName。没有任何效果。
-
citiesArray在哪里声明?它在哪里/如何初始化? -
它在哪里初始化?
-
该行没有初始化数组。那只是声明它。首先你必须像这样初始化它:
citiesArray = NSMutableArray(),然后你可以按照@MartinR 发布的方式添加它。