永远不会调用TableView cellForRowAtIndexPath(iOS,Swift)

时间:2016-03-16 19:11:03

标签: ios swift uitableview

我在UITableViewController中创建表视图时遇到问题。我已经尝试了我发现的所有内容,正确设置了reuseIdentifier,行数返回非零数字,并在storyboard中设置了高度。只调用cellForRowAtIndexPath,其他表函数运行正常。

以下是代码:

TableViewController:

import UIKit
import Photos

class CropTableViewController: UITableViewController {

var photos = [Photo]()
var photoAssets = [PHAsset]()


override func viewDidLoad() {
    super.viewDidLoad()

}

override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
    return 1
}

override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return photos.count
}

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

    let cellIdentifier = "Cell"
    let cell = tableView.dequeueReusableCellWithIdentifier(cellIdentifier, forIndexPath: indexPath) as! CropTableViewCell

    let photo = photos[indexPath.row]

    cell.photoImageView.image = photo.photo

    return cell
}
}

TableViewCell:

import UIKit

class CropTableViewCell: UITableViewCell {


@IBOutlet weak var photoImageView: UIImageView!

override func awakeFromNib() {
    super.awakeFromNib()
    // Initialization code
}

override func setSelected(selected: Bool, animated: Bool) {
    super.setSelected(selected, animated: animated)

    // Configure the view for the selected state
}
}

1 个答案:

答案 0 :(得分:10)

photos数组为空,因此photos.count为零,因此numberOfRowsInSection返回0,因此运行时知道没有单元格,并且不需要致电cellForRowAtIndexPath