我使用此代码将自定义对象添加到数组,然后在自定义TableView中显示该数据.
var tempCount = self.people?.count
for var k = 0 ; k < tempCount ; k++
{
if let PERSON = self.people?[k]
{
let name = (PERSON.compositeName != nil) ? PERSON.compositeName : ""
let number = (PERSON.phoneNumbers?.first?.value != nil) ? PERSON.phoneNumbers?.first?.value : ""
let image = (PERSON.image != nil) ? PERSON.image : UIImage(named: "aks.jpg")
let details = Contact(userImage: image!, userName: name!, phoneNumber: number!)
println(details.userName + " " + details.phoneNumber)
self.arrayOfContacts?.append(details)
println(self.arrayOfContacts?.count)
}
}
Run Code Online (Sandbox Code Playgroud)
由于某种原因,数组中元素的数量似乎总是为"零".我已按以下方式声明了数组
var arrayOfContacts:[Contact]?
Run Code Online (Sandbox Code Playgroud)
,Contact是数组应该包含的Object类型.
而另一个是
var people : [SwiftAddressBookPerson]? = []
Run Code Online (Sandbox Code Playgroud)
print语句确实给出了结果,但对象永远不会被添加到数组中.
对我做错的任何想法都会有很大帮助.
您的数组被声明为可选数组,但不是这样创建的nil.
你的声明:
var arrayOfContacts:[Contact]?
Run Code Online (Sandbox Code Playgroud)
添加实际空数组的创建:
arrayOfContacts = []
Run Code Online (Sandbox Code Playgroud)
或者一下子创建它:
var arrayOfContacts:[Contact]? = []
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2654 次 |
| 最近记录: |