swift后台进程

class IPhoneMainView:NSObject {
    var lock = NSLock()
    var imageDB = [String]()
    var workerForImage:NSThread?
    func show()
    {
        //启动一个进程
        workerForImage = NSThread(target: self, selector: "run", object: nil)
        workerForImage!.name = "负责在后台下载图片"
        workerForImage!.start()
    }
    func hide()
    {
        workerForImage!.cancel()
    }
    func run()
    {
        while(true)
        {
            imageDB.append("第\(imageDB.count+1)张")
            print("下好了第\(imageDB.count+1)张")
            NSThread.sleepForTimeInterval(0.1)
            if NSThread.currentThread().cancelled
            {
                NSThread.exit()
                print("收到线程结束请求,顺利结束进程")
            }
        }
    }
}
var iphoneView = IPhoneMainView()
iphoneView.show()
while(true)
{
    var date = NSDate()
    NSRunLoop.currentRunLoop().runUntilDate(date.dateByAddingTimeInterval(50))
    break
}
iphoneView.hide()

标签: swift

添加新评论