我在我的tableView中使用了一个自定义单元格,但是当我运行时,我得到了我在问题中提到的错误。
self.districtTableView.register(UINib(nibName: "PlaceCollectionViewCell", bundle: nil), forCellReuseIdentifier: "placeCell")
func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool {
return false
}
func textFieldDidEndEditing(_ textField: UITextField) {
// TODO: Your app can do something when textField finishes editing
print("The textField ended editing. Do something based on app requirements.")
}
func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return districts.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "placeCell") as! PlaceTableViewCell
// Set text from the data model
cell.distLabel.text = districts[indexPath.row]
cell.textLabel?.font = distTextField.font
return cell
我怎样才能摆脱这个错误。我已经使用不同的方法注册一个单元格在表格视图。但它不工作。请帮助
9条答案
按热度按时间yxyvkwin1#
我从界面生成器(XIB)添加了点击手势。
删除将解决此问题。
必须通过编程的方式在xib中添加手势
vaqhlq812#
在我的例子中,这是一个在细胞外添加的视图。它不应该在那里
6tqwzwtp3#
在一个.xib文件中有多个表视图单元格也会导致这个错误。将表视图单元格移到它们自己单独的.xib文件中解决了我的错误。
nib只能包含一个顶级对象,该对象必须是UITableViewCell示例
to94eoyn4#
打开“PlaceCollectionViewCell.xib”文件。确保只有一个顶级视图(查看侧面板,而不仅仅是画布,它可能不可见)。确保为视图分配了UITableViewCell(不是UICollectionViewCell,xib名称看起来很可疑)的子类以及重用标识符。
cgfeq70w5#
如果您正在使用tableviewcell的xib,则在viewDidLoad中注册您的xib,如下所示。
如果您使用的是tableViewcell的自定义类,那么试试这个,
因为我看到你的代码工作几乎是正确的。希望我的答案对你有帮助。
eeq64g8w6#
这个错误可能是误导的。我不知何故拖了一些视图到我的单元格,它创建了主视图之外的另一个级别的视图。只是从你的xib中删除它。
3hvapo4f7#
我也遇到过同样的问题,就是我的牢房里没有所有必要的约束。
of1yzvn48#
确保“属性检查器”面板中的“标识符”属性设置为代码中指定的重用标识符。
oxcyiej79#
我在MacOS中使用
NSCollectionView
时遇到了一个非常相同的问题,最后发现我必须将一个NSCollectionViewItem
拖放到收藏视图的item xib文件中。