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循环,但在某个时候它崩溃了。。不知道为什么请问一个新问题谢谢,给你