我需要做的是存储包含字符串值的对象数组。然后我将使用对象的名称并在我的UITableViewCell上显示。 Person
是另一个管理字符串的类。
import UIKit
class ViewController: UIViewController, UITableViewDataSource {
@IBOutlet var myTableView: UITableView!
var personList = [Person]()
override func viewDidLoad() {
StoreData()
super.viewDidLoad()
myTableView.dataSource = self
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return personList.count
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("myCell", forIndexPath: indexPath) as UITableViewCell
cell.textLabel?.text = personList[indexPath.row].name
return cell
}
func StoreData(){
self.personList.append(Person(name: "Joe Montana", code: "16", description: "Quarterback"))
self.personList.append(Person(name: "John Snow", code: "18", description: "Forward"))
}
}
我的代码有两个问题。
为什么当我做personList.count时,它会返回0?
cell.textLabel?.text = personList[indexPath.row].name
我收到错误消息
运行此代码时。
编辑:
我试图将personList.count
放在self.personList.append(Person(name: "John Snow", code: "18", description: "Forward"))
之后,它返回值2.
但是在
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return personList.count
}
它仍然返回0.
我怀疑它与self
有关。或者是它还是问题?