     func bot(_ bot: FetchBot, didFinishedContents contents: [ContentInfo], failedLink : [FetchURL]) {
         let message = ">>>>>>>>>>>> 已成功接收 \(bot.count - failedLink.count) 项数据, \(failedLink.count) 项接收失败, spend time: \(Date().timeIntervalSince(startTime))"
         print(message)
-        DispatchQueue.main.async {
+        DispatchQueue.main.async { [unowned self] in
             self.label.stringValue = message
         }
         let bot = FetchBot.shareBot
         site.categrory = tor?.next()
         guard let _ = site.categrory else {
             DispatchQueue.main.async {
+                 [unowned self] in
                 self.action.isEnabled = true
             }
             return
         }
         DispatchQueue.global().async {
+             [unowned self] in
             bot.start(withSite: self.site)
         }
     }

            bot.pageOffset = self.pageOffset
            self.site.categrory = self.tor?.next()
            DispatchQueue.global().async {
                bot.start(withSite: self.site)
            }
        })

    var tor: IndexingIterator<[ListCategrory]>?
    var site = Site.netdisk
    var startIndex: UInt = 1
    let pageOffset: UInt = 3
    var startTime: Date!
    @IBOutlet weak var action: NSButton!
    @IBOutlet weak var label: NSTextField!
