我有两个独立的.swift文件。我希望使用ManagePerson.swift来管理我的Strings,例如添加和检索。另一个ViewController.swift创建一个用于访问数据的ManagePerson类数组。
在我的ManagePerson.swift里
func addPerson(name: String, code: String, description: String){
self.name = name
self.code = code
self.description = description
}在我的ViewController.swift里。
var personList = [PersonTable]() // Declared at class level
for jsonObjectString in resultArray! {
let name = jsonObjectString["Name"] as! String
let code = jsonObjectString["Code"] as! String
let description = jsonObjectString["Description"] as! String
self.personList[count].addPerson(Name, code: code, description: description)
count++
}但是,我似乎不能执行.addPerson方法。我得到了一个错误“线程: 6: EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP,subcode=0x0)”
发布于 2015-11-08 05:06:10
首先,假设您使用(a)三个属性定义了"person“类;(b)设置这些属性的init方法:
class Person {
let name: String
let code: String
let description: String
init(name: String, code: String, description: String) {
self.name = name
self.code = code
self.description = description
}
}然后,实例化一个Person,它只是
let person = Person(name: "Joe Montana", code: "16", description: "Quarterback")如果您想要这些Person对象的数组,可以将其定义为:
var personList = [Person]()因此,要向这个数组添加一个Person,它是:
personList.append(Person(name: "Joe Montana", code: "16", description: "Quarterback"))因此,如果resultArray是一个字典数组,您可以添加如下所示的项:
for dictionary in resultArray! {
let name = dictionary["Name"] as! String
let code = dictionary["Code"] as! String
let description = dictionary["Description"] as! String
personList.append(Person(name: name, code: code, description: description))
}但是,请注意,我们不需要处理count (因为您只需要添加到数组中)。
或者,如果这些值可以是nil,您可以将这些值定义为选项:
class Person {
let name: String?
let code: String?
let description: String?
init(name: String?, code: String?, description: String?) {
self.name = name
self.code = code
self.description = description
}
}和
for dictionary in resultArray! {
let name = dictionary["Name"] as? String
let code = dictionary["Code"] as? String
let description = dictionary["Description"] as? String
personList.append(Person(name: name, code: code, description: description))
}发布于 2015-11-08 04:59:40
因为self.personList[count]是nil,所以它不包含任何PersonTable实例
https://stackoverflow.com/questions/33590846
复制相似问题