初探swift語言的學習

來源:http://blog.csdn.net/fengsh998/article/details/30354127



import UIKit


class swiftThreadDemo : UIViewController
{
    var queue = NSOperationQueue()
//    init()
//    {
//        //alloc
//        super.init()
//    }
    
    deinit
    {
        //dealloc
    }
    
    func testGCDThread()
    {
        dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), {


            //這裏寫需要大量時間的代碼


            for var i = 0; i < 100000; i++
            {
                println("GCD thread running.")
            }
            
            sleep(5);


            dispatch_async(dispatch_get_main_queue(), {


                //這裏返回主線程,寫需要主線程執行的代碼
                println("這裏返回主線程,寫需要主線程執行的代碼")
                })
            })
    }
    
    func testNSThread()
    {
        //方式一
        //NSThread.detachNewThreadSelector("threadInMainMethod:",toTarget:self,withObject:nil)
        
        //方式二
        var myThread = NSThread(target:self,selector:"threadInMainMethod:",object:nil)
        myThread.start()
        
    }
    
    func threadInMainMethod(sender : AnyObject)
    {
        for var i = 0; i < 100000; i++
        {
            println("NSThread running.")
        }
        
        sleep(5);
        println("NSThread over.")
    }
    
    func testNSOperationQueue()
    {
        //func (op: NSOperation!)
        var mopt = myOperationThread()
        queue.addOperation(mopt)
    }
}




class myOperationThread : NSOperation
{
    override func start()
    {
        super.start()
    }
    
    override func main()
    {
        for var i = 0; i < 100000; i++
        {
            println("NSOperation running.")
        }
        println("NSOperation over.")
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章