我的ViewController顶部有一个Searchbar,下面有一个tableview。 tableview有一个自定义单元格,其中包含2个标签。我的问题是,当我运行应用程序并选择行/单元格时,单元格内的所有内容都会消失。然后我强制将空白单元格放在tableview的可见区域之外,这样它就会被重复使用。就在那时,细胞内的一切都回来了。有谁知道它为什么会这样?
我的自定义单元格类(ContactCell.swift):
override func viewDidLoad() {
super.viewDidLoad()
tableView.dataSource = self
tableView.delegate = self
}
我的ViewDidLoad功能:
extension contactsTabelViewController: UITableViewDelegate, UITableViewDataSource {
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 6
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("contactCell", forIndexPath: indexPath) as! ContactCell
if let label = cell.lblContactName{
label.text = "This is a name"
}
if let label3 = cell.lblContactTitle{
label3.text = "This is a title"
}
return ContactCell()
}
}
我的代表和数据源:
final int GRID_WIDTH = 10;
final int GRID_HEIGHT = 10;
final int BOMB_NUMBER = 10;
final boolean[][] minesArray = new boolean[GRID_WIDTH][GRID_HEIGHT];
for (int i = 0; i < BOMB_NUMBER; i++) {
//Get random position for the next bomb
Random rand = new Random();
int row = rand.nextInt(GRID_WIDTH);
int col = rand.nextInt(GRID_HEIGHT);
while(minesArray[row][col]) { //if this position is a bomb
//we get new position
row = rand.nextInt(GRID_WIDTH);
col = rand.nextInt(GRID_HEIGHT);
}
minesArray[row][col] = true; //make new position is a bomb
}
答案 0 :(得分:0)
导致此问题的问题是我返回ContactCell()
而不是变量cell
解决方案是: 改变这个:
return ContactCell()
到此:
return cell
在cellForRowAtIndexPath
函数中。