我在TableViewController中工作,我正在尝试填充plist中的数据。
我在顶部声明了这一点:
var studentsArray:Array<StudentData>?
现在我在一个加载我的plist的函数中执行以下操作:
var path = NSBundle.mainBundle().URLForResource("students", withExtension: "plist")
let tmpArray = NSArray(contentsOfURL: path!)
for studentDict in tmpArray!{
let name = studentDict["name"]as! String
let dateOfBirth = studentDict["dateOfBirth"] as! NSDate
let regular = studentDict["regular"] as! Bool
let photoFileName = studentDict["photoFileName"] as! String
let data = StudentData(name : name, dateOfBirth: dateOfBirth, regular : regular, photoFileName: photoFileName)
self.studentsArray?.append(data)
println(studentsArray!.count)
}
我尝试记录对象的属性,它们都被填写,但它在.append
出错了,不知怎的,它只是不会这样做。该数组的计数仍为“无”数字。记录时。
我有点迷失在这里!任何帮助表示赞赏。
答案 0 :(得分:4)
看起来你没有在任何地方初始化studentArray。一定要这样做。对于记录,如果数组为空,则array.count应为0,而不是nil。如果你看到nil意味着数组可能是nil(也就是你没有初始化它)。
答案 1 :(得分:0)
尝试将您的数组声明更改为此,并让我知道它是否有效。希望它有所帮助:
var studentsArray:Array<StudentData>? = Array<StudentData>()