管理Swift2的数组

时间:2015-11-11 06:21:10

标签: arrays swift2

我需要做的是存储包含字符串值的对象数组。然后我将使用对象的名称并在我的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"))
        }

    }

我的代码有两个问题。

  1. 为什么当我做personList.count时,它会返回0?

  2. cell.textLabel?.text = personList[indexPath.row].name我收到错误消息 运行此代码时。

  3. 编辑: 我试图将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有关。或者是它还是问题?

0 个答案:

没有答案