大中央调度

Grand Central Dispatch

我想稍微加快我的代码速度。这是我的代码:

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
    }
}