我的自定义类单元管理器中的UISwipeGestureRecognizer出现此错误
它在我的主要UITableViewController类中工作...我在ViewDidLoad中创建了一个新实例:
let updateClass = updateCell()
updateClass.swiper()
我不太确定但是在这个thread上,我应该使用lazy var来解决问题,但它不会改变任何东西。我该怎么办 ?为什么我得到这个错误?
感谢您的帮助!
答案 0 :(得分:2)
当您像创建updateClass的实例一样,系统将不会从Storyboard(或Xib)加载视图。这是nil错误的原因。
要从故事板加载表格视图单元格,您可以使用
let identifier = ... // the reusable identifier defined for this cell in storyboard
let cell = tableView.dequeueReusableCell(withIdentifier: identifier, for: indexPath) as! updateClass
此外,您无法在viewDidLoad中调用此代码。您需要实现UITableViewDataSource接口
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
// load and return your cell
}
也许这对你来说是一个很棒的教程 https://www.raywenderlich.com/77974/making-a-gesture-driven-to-do-list-app-like-clear-in-swift-part-1
答案 1 :(得分:0)
如果你的网点没问题且rightView
没有在任何地方写过,那么请确保你在主线程上调用swiper()
。
DispatchQueue.main.async {
// your code here
}
尝试像这样调用它。如果没有同步线程,那么就会发生这种疯狂的行为。
答案 2 :(得分:-2)
可能是你的右视图是零。检查您的插座连接