使用内容填充表视图

时间:2015-06-24 21:18:31

标签: ios objective-c iphone swift tableview

我是iphone app开发的新手。

我目前有一个表视图,但想用我自己的新闻故事填充它,知道我怎么能这样做?

目前我有以下内容:

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as! NewsTableViewCell

    // Configure the cell...
    if indexPath.row == 0 {
        cell.postImageView.image = UIImage(named: "premier-league")
        cell.postTitleLabel.text = "Join our league"
        cell.authorLabel.text = "Paul"
        cell.authorImageView.image = UIImage(named: "author")

    } else if indexPath.row == 1 {
        cell.postImageView.image = UIImage(named: "example2")
        cell.postTitleLabel.text = "Fixtures for the coming season"
        cell.authorLabel.text = "Paul"
        cell.authorImageView.image = UIImage(named: "author")

    } else {
        cell.postImageView.image = UIImage(named: "example3")
        cell.postTitleLabel.text = "New App for the new season"
        cell.authorLabel.text = "Paul"
        cell.authorImageView.image = UIImage(named: "author")

    }

    return cell
}

1 个答案:

答案 0 :(得分:0)

好的,你需要理解的是上面显示的方法cellForRowAtIndexPath,是重复调用的方法,它填充了tableView的单元格 - 这就是它的全部内容。

因此,如果您有以下实现:

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as! NewsTableViewCell

    // Configure the cell...
    cell.textLabel.text = "Hello"
    return cell
}

然后每个单元格的textLabel都会填充单词" hello"。

扩展这个你需要做的就是用一个数组(或其他对象)填充你想要在tableView中显示的数据(即一个String名称,Dates,一些其他数据的数组),然后设置一个属性(textLabel或其他)具有cellForRowAtIndexPath中的数据的单元格。

最好的位是,每个indexPath.row对于每个阵列位置都是完美的模拟。所以数组和tableView很好地相辅相成。