我有两个单独的 .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
方法。我收到错误消息“Thread: 6: EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)”
最佳答案
首先,假设您使用 (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))
}
关于ios - Swift2 的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33590846/