Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 是的,我在互联网上看到了,所以我试着用一个DispatchQueue来修复它,就像你说的(正如你在我的注释代码中看到的),但它也不起作用,这就是为什么这么奇怪…你的代码是在主线程上还是在后台线程上运行?如果你不知道,添加这样的代码:print(“is ma_Swift_Xcode_Macos_Label_Progress Bar - Fatal编程技术网

Swift 是的,我在互联网上看到了,所以我试着用一个DispatchQueue来修复它,就像你说的(正如你在我的注释代码中看到的),但它也不起作用,这就是为什么这么奇怪…你的代码是在主线程上还是在后台线程上运行?如果你不知道,添加这样的代码:print(“is ma

Swift 是的,我在互联网上看到了,所以我试着用一个DispatchQueue来修复它,就像你说的(正如你在我的注释代码中看到的),但它也不起作用,这就是为什么这么奇怪…你的代码是在主线程上还是在后台线程上运行?如果你不知道,添加这样的代码:print(“is ma,swift,xcode,macos,label,progress-bar,Swift,Xcode,Macos,Label,Progress Bar,是的,我在互联网上看到了,所以我试着用一个DispatchQueue来修复它,就像你说的(正如你在我的注释代码中看到的),但它也不起作用,这就是为什么这么奇怪…你的代码是在主线程上还是在后台线程上运行?如果你不知道,添加这样的代码:print(“is main thread=”,Thread.isMainThread)I get:is main Thread=true,所以我承认我的代码已经在主线程上运行了,这真的很奇怪,如果您需要更多信息,我可以发布我的整个代码?感谢您没有理由在后台线程上进行


是的,我在互联网上看到了,所以我试着用一个DispatchQueue来修复它,就像你说的(正如你在我的注释代码中看到的),但它也不起作用,这就是为什么这么奇怪…你的代码是在主线程上还是在后台线程上运行?如果你不知道,添加这样的代码:
print(“is main thread=”,Thread.isMainThread)
I get:is main Thread=true,所以我承认我的代码已经在主线程上运行了,这真的很奇怪,如果您需要更多信息,我可以发布我的整个代码?感谢您没有理由在后台线程上进行解析。您编写它是为了在主线程上运行。请参阅上面对我答案的编辑。是的,我在互联网上看到了这一点,所以我尝试用一个DispatchQueue来修复它,就像您所说的(正如您在我的注释代码中看到的),但它也不起作用,这就是为什么如此奇怪的原因……您解析HTML的代码是在主线程上运行还是在后台线程上运行?如果您不知道,请添加如下代码:
print(“is main thread=,thread.isMainThread)
I get:is main thread=true,所以我承认我的代码已经在主线程上运行了,这真的很奇怪,如果您需要更多信息,我可以发布我的全部代码?感谢您没有理由在后台线程上进行解析。您编写它是为了在主线程上运行。请参阅上面对我答案的编辑。
    func parseMessage()
    {
        var i = 0

        self.beginHTML()

        for row in (try? db?.prepare("SELECT message.text, message.is_from_me, datetime(substr(message.date, 1, 9) + 978307200, 'unixepoch', 'localtime') as f_date, message.cache_has_attachments, message.ROWID FROM message LEFT JOIN chat WHERE chat.guid LIKE '%PHONENUMBER%' AND chat.ROWID == message.handle_id"))!!
        {
            html += """
            <div class=\"clear\"></div>
            <p align=\"center\"> \(String(describing: row[2] ?? "")) </p>
            """

            if (row[3] as! Int64 == 1)
            {
                self.parseAttachments(row: row)
            }
            else if (row[1] as! Int64 == 1)
            {
                html += "<div class=\"from-me\"> <p>\(String(describing: row[0] ?? "")) </p></div>"
            }
            else
            {
                html += "<div class=\"from-them\"> <p>\(String(describing: row[0] ?? "")) </p></div>"
            }

            i = i + 1

            if (i % 500 == 0)
            {
                self.progressLabel.stringValue = "\(i) on \(self.messageNumber)"
                self.progressBar.increment(by: 500)

//                DispatchQueue.main.async {
//                    self.progressLabel.stringValue = "\(i) on \(self.messageNumber)"
//                    self.progressBar.increment(by: 500)
//                }
            }

            if (i == 2000)
            {
                break;
            }
        }

        html += "</section></body></html>"
    }
func parseMessage()
{
    DispatchQueue.global().async {
        var i = 0
        
        self.beginHTML()
        
        for row in (try? db?.prepare("SELECT message.text, message.is_from_me, datetime(substr(message.date, 1, 9) + 978307200, 'unixepoch', 'localtime') as f_date, message.cache_has_attachments, message.ROWID FROM message LEFT JOIN chat WHERE chat.guid LIKE '%PHONENUMBER%' AND chat.ROWID == message.handle_id"))!!
        {
            html += """
            <div class=\"clear\"></div>
            <p align=\"center\"> \(String(describing: row[2] ?? "")) </p>
            """
            
            if (row[3] as! Int64 == 1)
            {
                self.parseAttachments(row: row)
            }
            else if (row[1] as! Int64 == 1)
            {
                html += "<div class=\"from-me\"> <p>\(String(describing: row[0] ?? "")) </p></div>"
            }
            else
            {
                html += "<div class=\"from-them\"> <p>\(String(describing: row[0] ?? "")) </p></div>"
            }
            
            i = i + 1
            
            if (i % 500 == 0)
            {
                DispatchQueue.main.async {
                    self.progressLabel.stringValue = "\(i) on \(self.messageNumber)"
                    self.progressBar.increment(by: 500)
                }
            }
            
            if (i == 2000)
            {
                break;
            }
        }
        
        html += "</section></body></html>"
    }
}