SORU
3 HAZİRAN 2014, Salı


Ne kadar Hızlı bir HTTP isteği yapmak için?

Kitabı ibook Apple tarafından Programlama Dili Swift okudum, ama nasıl bir http isteği (CURL gibi bir şey) yapabilir miyim swift bulun. Almak lazım n-c sınıfları yapmak ya da sadece varsayılan kitaplıkları almak gerekir mi? Ya ben bir HTTP isteği yerel swift koduna göre yapamaz?

CEVAP
3 HAZİRAN 2014, Salı


Kullanabilirsiniz NSURL, NSURLRequest NSURLSession NSURLConnection olarak ... normal olarak Objective-C Not için iOS 7.0 ve daha sonra, NSURLSession tercih edilir.

NSURLSession kullanarak

NSURL bir nesne ve NSURLSession 12 *bir başlatılamadı. Sonra Çalıştır resume() ile görev.

let url = NSURL(string: "http://www.stackoverflow.com")

let task = NSURLSession.sharedSession().dataTaskWithURL(url!) {(data, response, error) in
    println(NSString(data: data, encoding: NSUTF8StringEncoding))
}

task.resume()

NSURLConnection kullanarak

İlk, NSURL NSURLRequest: bir başlatılamadı

let url = NSURL(string: "http://www.stackoverflow.com")
let request = NSURLRequest(URL: url!)

Sonra istek ile uyumsuz olarak yükleyebilirsiniz:

NSURLConnection.sendAsynchronousRequest(request, queue: NSOperationQueue.mainQueue()) {(response, data, error) in
    println(NSString(data: data, encoding: NSUTF8StringEncoding))
}

Ya da NSURLConnection: bir başlatılamıyor

let connection = NSURLConnection(request: request, delegate:nil, startImmediately: true)

Sadece nil başka bir şey için ayarlayın temsilci ve temsilci yöntemleri yanıtı ile çalışmak için kullandığınızdan emin olun ve veri aldı.

Daha fazla ayrıntı için, documentation for the NSURLConnectionDataDelegate protocol kontrol edin

Böyle büyük mükafat bir oyun alanı üzerinde test

Eğer böyle büyük mükafat bir oyun bu kodu denemek istiyorsanız, oyun alanı yanı sıra aşağıdaki çağrı import XCPlayground ekleyin:

XCPSetExecutionShouldContinueIndefinitely()

Bu oyun içinde zaman uyumsuz kod kullanmak için izin verir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • BlackBoxTV

    BlackBoxTV

    7 Mayıs 2007
  • MarinaHD2001

    MarinaHD2001

    7 ŞUBAT 2009
  • martin shervington

    martin sherv

    7 EKİM 2011