总共有3个班级。
init
来管理字符串。FirstClass.swift
class Person{
var name : String
var description : String
init(name: String, description: String){
self.name = name
self.description = description
}
SecondClass.swift
class StoreData: UIViewController {
var personList = [Person]()
override func viewDidLoad() {
super.viewDidLoad()
self.personList.append(Person(name: "John", description: "123"))
self.personList.append(Person(name: "Mary", description: "456"))
}
ThirdClass.swift
所以在这个类中,我需要访问存储在SecondClass.swift中的数据。我说我要存储在一个字符串数组中。我想提取var names = personList[0].name
我该怎么做?
答案 0 :(得分:0)
在你的情况下使其工作的最简单方法是这样的:
class StoreData: UIViewController {
static var sharedData = StoreData()
var personList = [Person]()
override func viewDidLoad() {
super.viewDidLoad()
self.personList.append(Person(name: "John", description: "123"))
self.personList.append(Person(name: "Mary", description: "456"))
}
}
class ThirdClass {
func someFunc() {
let person1 = StoreData.sharedData.personList[0]
print(person1)
}
}
但这不是最好的方式,但你不能解释你需要什么。希望您理解,此代码可以从StoreData
生成单例。这对你来说很有用。