Ios UITableViewCell中的UITextView响应非常慢

Ios UITableViewCell中的UITextView响应非常慢,ios,uitableview,swift,Ios,Uitableview,Swift,我有一个带有一个原型单元的动态UITableViewController。此单元格中有2个UITextView。它们中的每一个都应该是可编辑的。如果这很重要:数据来自json文件,并以NSArray的形式存在。我用Swift编程,所以正确的类型是[[[String:String]]]。 我的问题是,当我点击其中一个文本视图时,iPad似乎加载了几秒钟,而在此期间,主线程被阻塞,什么也没有发生。然后键盘弹出,我可以编辑文本。选择第一个文本视图后,我可以在它们之间快速切换。即使TextView辞退了

我有一个带有一个原型单元的动态UITableViewController。此单元格中有2个UITextView。它们中的每一个都应该是可编辑的。如果这很重要:数据来自json文件,并以NSArray的形式存在。我用Swift编程,所以正确的类型是[[[String:String]]]。 我的问题是,当我点击其中一个文本视图时,iPad似乎加载了几秒钟,而在此期间,主线程被阻塞,什么也没有发生。然后键盘弹出,我可以编辑文本。选择第一个文本视图后,我可以在它们之间快速切换。即使TextView辞退了他的第一响应者,我也可以点击其中一个,键盘会很快打开。 我怎样才能在一开始就加快装货速度? 我试着打电话

myTextView.becomeFirstResponder()
在cellForRowAtIndexPah中,仅针对第一个文本视图,然后整个视图在显示前加载大约4秒。。 我希望你明白我的意思。如果您需要任何代码来更好地理解它,请告诉我:

提前谢谢

编辑1:

海关等级

class BeschreibungZusatzCell: UITableViewCell, UITextViewDelegate {

    var delegate: CellDelegate?

    @IBOutlet weak var titelTextView: CellTextView!

    @IBOutlet weak var beschreibungTextView: CellTextView!

    override func layoutSubviews() {
        super.layoutSubviews()
        if titelTextView != nil {
            titelTextView.delegate = self
        }
        if beschreibungTextView != nil {
            beschreibungTextView.delegate = self
        }

    }

    var titel: String! {
        didSet{
            titelTextView.text = titel
        }
    }

    var beschreibung: String! {
        didSet{
            beschreibungTextView.text = beschreibung
        }
    }


    func textView(textView: UITextView, shouldChangeTextInRange range: NSRange, replacementText text: String) -> Bool {
        if text == "\n" {
            textView.resignFirstResponder()
            delegate?.cell(self, didChangeContentAtIndexPath: (textView as CellTextView).indexPath!, andSpalte: (textView as CellTextView).spalte!, toString: textView.text)
            return false
        }
        delegate?.cell(self, didChangeContentAtIndexPath: (textView as CellTextView).indexPath!, andSpalte: (textView as CellTextView).spalte!, toString: textView.text)
        return true
    }

}

对不起,有些德语名称,我认为它们对于理解代码并不重要:因此单元格有一个委托,它是我的TableViewController。两个文本视图中的每一个都有一个委托,即单元格。因此,如果文本视图更改其字符串,我可以在TableViewController中获得一条消息。我需要它来保存更改。

将becomeFirstResponder调用移动到didEndDisplayingCell或其他方法中。cellForRowAtIndexPath用于配置单元格,而不是执行与UI相关的任务。

它是一个单元格,具有唯一的重用标识符?我唯一的猜测是可能有多个细胞?更多的代码可能会有所帮助。这是一个原型,用于多个看起来相同但包含不同文本的单元格。好的,您如何获得对该文本视图的引用?单元格是一个自定义类。如果是上面问题中的代码,我会复制代码:尝试将becomeFirstResponder调用移出cellForRowAtIndexPath。我不想在开始时显示键盘,这只是为了测试是否会更快,但事实并非如此。如果用户点击其中一个文本字段,我想显示键盘。。