为什么我的UISwipeGestureRecognizer上出现此错误?

问题描述 投票:1回答:3

我的自定义类单元管理器中的UISwipeGestureRecognizer出现此错误

enter image description here

它在我的主UITableViewController类中工作...我在ViewDidLoad中创建了一个新实例:

   let updateClass = updateCell()
   updateClass.swiper()

我不太确定,但在这个thread上,我应该使用lazy var来解决问题,但它不会改变任何东西。我该怎么办 ?为什么我得到这个错误?

谢谢你的帮助 !

ios swift uitableview uigesturerecognizer
3个回答
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


0
投票

如果您的插座没问题且rightView没有在任何地方写过,那么请确保您在主线程上调用swiper()

 DispatchQueue.main.async {
    // your code here
 }

试试这样称呼它。如果线程未同步,则会发生这种疯狂的行为。


-2
投票

可能是你的右视图是零。检查你的插座连接

© www.soinside.com 2019 - 2024. All rights reserved.