【发布时间】:2016-12-27 09:25:55
【问题描述】:
你好我有以下功能:
func parceDosi()
{
struct City{
let name : String
// let location : CLLocation
}
var cities = [City]()
var person = "Person"
let path: String = NSBundle.mainBundle().pathForResource("jsonFile", ofType: "json") as String!
let jsonData = NSData(contentsOfFile: path) as NSData!
let ReadableJSON = JSON ( data:jsonData, options: NSJSONReadingOptions.MutableContainers, error: nil )
NumberRows = ReadableJSON ["People"].count
for (var i = 0 ; i <= NumberRows; i++ )
{
Person += "\(i)"
let NameImeNaObekt = ReadableJSON ["People"] [Person] ["B1"].string as String!
let NameShirina = ReadableJSON ["People"] [Person] ["C1"].string as String!
let NameDuljina = ReadableJSON ["People"] [Person] ["D1"].string as String!
let latitude = (NameShirina as NSString).doubleValue
let longitude = (NameDuljina as NSString).doubleValue
// let loc = CLLocation( latitude: latitude, longitude: longitude)
// let ci = City(name: NameImeNaObekt, location: loc)
let ci = City( name: NameImeNaObekt)
cities.append(ci)
从 json 文件中读取信息。读取的信息我想将其返回到
var 数据 = [??]
如果采用以下方式,此变量数据可以正常工作:
var data = [纽约,波士顿,加利福尼亚],
但我不想写 New York, Boston, California ,而是想返回函数 函数 parceDosi(), 因为所有的城市都是从一个 json 文件中解析出来的,我不必写每一个。你知道怎么做吗,我是新手,我的语法有问题。 这是 JSON 文件:
{
"People": {
"Person0": {
"A1": "Безплатен Сок",
"B1": "Царево 11",
"C1": "43.0757",
"D1": "23.6172",
"E1": "http://weknowyourdreams.com/image.php?pic=/images/beer/beer-07.jpg"
},
"Person1": {
"A1": "Безплатна Бира",
"B1": "Царево 22",
"C1": "44.0757",
"D1": "24.6172",
"E1": "http://weknowyourdreams.com/image.php?pic=/images/beer/beer-07.jpg"
},
"Person2": {
"A1": "Безплатен Десерт",
"B1": "Царево 33",
"C1": "45.0757",
"D1": "25.6172",
"E1": "http://weknowyourdreams.com/image.php?pic=/images/beer/beer-07.jpg"
},
"Person3": {
"A1": "Безплатно Кафе",
"B1": "Царево 55",
"C1": "41.0757",
"D1": "21.6172",
"E1": "http://weknowyourdreams.com/image.php?pic=/images/beer/beer-07.jpg"
},
"Person4": {
"A1": "Безплатна Кола",
"B1": "Царево 66",
"C1": "46.0757",
"D1": "26.6172",
"E1": "http://weknowyourdreams.com/image.php?pic=/images/beer/beer-07.jpg"
}
}
}
【问题讨论】:
-
您没有正确声明结构,它将在函数之外不在内部,并且从您之前的问题城市名称中包含键
A1而不是B1。您的代码中也没有数据变量。 -
你能告诉我什么是正确的声明吗?
-
代码很难阅读。变量名应该以小写字母开头,以免与名称应该以大写字母开头的类和结构混淆。
-
对此我感到很抱歉,我一个月前开始使用 swift,但我还是个初学者,但与其批评我,我更愿意学习新的东西,通过更正我的代码对的。
-
我批评你是为了你自己的利益。你写的代码越清晰,你得到的答案就越多、越快。此外,你已经学到了一些新的东西;-)