如何重用另一个表视图控制器内的单元格

时间:2015-06-20 23:15:17

标签: ios swift uitableview

我有以下情况:

  • 有一个表格视图控制器,可以显示所有字体系列名称,它位于故事板中
  • 在故事板中的UITableViewController内部,有一个标识符为“FamilyName”的单元格,其中还有一个与segue相关联的披露指示符
  • 我添加了一个UISearchController,它应该过滤上一个表视图控制器的结果

在作为结果更新程序的表视图控制器中,我注册了相同的重用标识符:

tableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: "FamilyName")

我正在调用dequeueReusableCellWithIdentifier:forIndexPath:,但我得到了一个不同的UITableViewCell。我想在另一个表视图控制器中获取故事板中的相同单元格,以便它已经链接到segue。

2 个答案:

答案 0 :(得分:1)

重用你的tableView。不要只是改变数据源。这应该按预期工作。只需修改数据源并更新表。

答案 1 :(得分:0)

static boolean isAirplaneModeOn(Context context) {
    ContentResolver contentResolver = context.getContentResolver();
    return Settings.System.getInt(contentResolver, AIRPLANE_MODE_ON, 0) != 0;
}

这意味着:使用故事板来获取单元格。所以当电池不是来自故事板时你几乎不会感到惊讶:你说不要。从故事板获取单元格的唯一方法是为表视图注册 no 类或nib以获取此单元重用标识符。