Swift 中央大调度

Swift 中央大调度,swift,optimization,grand-central-dispatch,Swift,Optimization,Grand Central Dispatch,我想把代码的速度提高一点。这是我的代码: var loadedText : NSAttributedString = NSAttributedString(string: "") let changeThemeDispatchGroup = DispatchGroup() DispatchQueue.global(qos: .userInteractive).async { if self.selectedNote.content != nil { change

我想把代码的速度提高一点。这是我的代码:

var loadedText : NSAttributedString = NSAttributedString(string: "")
let changeThemeDispatchGroup = DispatchGroup()
DispatchQueue.global(qos: .userInteractive).async {

    if self.selectedNote.content != nil
    {
        changeThemeDispatchGroup.enter()
        loadedText = self.selectedNote.content as! NSAttributedString
        changeThemeDispatchGroup.leave()
    }
    else
    {
        self.noteTextView.becomeFirstResponder()
    }


    DispatchQueue.main.async
    {
        self.noteTextView.attributedText = loadedText

    }

    changeThemeDispatchGroup.notify(queue: DispatchQueue.main)
    {
        self.changeLetterColor()
    }
}

我正在从数据库加载loadedText并更新文本视图。更新文本视图后,我将更改每个字母的颜色。它工作得很好。但是现在,我想从数据库加载loadedText,更改文本颜色,然后更新文本视图。你能帮我个忙吗?

忘记分组,改一下顺序

var loadedText = NSAttributedString(string: "")
DispatchQueue.global(qos: .userInteractive).async {

    if let content = self.selectedNote.content as? NSAttributedString {
        loadedText = content 
    } else {
        self.noteTextView.becomeFirstResponder()
    }

    DispatchQueue.main.async {
       self.changeLetterColor()            
       self.noteTextView.attributedText = loadedText
    }
}

谢谢,它很管用。。我只需要在那之后改变我的功能。。。我可以在这里再问一个问题吗?我试图使用grad center dispatch来加速我的for循环,但在某个时候它崩溃了。。不知道为什么请问一个新问题谢谢,给你