2014-11-13 7 views
5

Cosa sto sbagliando? Sto cercando di usare un'api, ma prima devo imparare a fare cose http in modo rapido.Come utilizzare NSURL in Swift in Xcode 6.1?

Sto usando questo codice nel parco giochi:

// Playground - noun: a place where people can play 

// import Cocoa - this is commented out due to "No such module 'Cocoa'" 
import XCPlayground 

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

var waiting = true 

NSURLConnection.sendAsynchronousRequest(request, queue:NSOperationQueue.currentQueue() { 
    response, maybeData, error in 
    waiting = false 
    if let data = maybeData { 
     let contents = NSString(data:data, encoding:NSUTF8StringEncoding) 
     println(contents) 
    } else { 
     println(error.localizedDescription) 
    } 
    } 

    while(waiting) { 
    NSRunLoop.currentRunLoop().runMode(NSDefaultRunLoopMode, beforeDate: NSDate()) 
    usleep(10) 
} 

e ottenere questi errori nella console:

Playground execution failed: <EXPR>:12:11: error: use of unresolved identifier 'NSURL' 
let url = NSURL(string: "http://www.stackoverflow.com") 
     ^
<EXPR>:14:12: error: use of unresolved identifier 'NSURLSession' 
let task = NSURLSession.sharedSession().dataTaskWithURL(url) {(data, response, error) in 
     ^
<EXPR>:15:13: error: use of unresolved identifier 'NSString' 
    println(NSString(data: data, encoding: NSUTF8StringEncoding)) 
      ^
<EXPR>:15:44: error: use of unresolved identifier 'NSUTF8StringEncoding' 
    println(NSString(data: data, encoding: NSUTF8StringEncoding)) 
+0

Ti suggerisco di utilizzare NSUrlConnection con NSUrlConnectionDataDelegate per le chiamate Async. prova a fare un progetto di test dato che in Playgroud potrebbe essere un po 'difficile, IMHO, essere in grado di testarlo ed essere pronto per l'uso in un ambiente reale –

risposta

9

È necessario importare quadro Fondazione di rendere tali tipi disponibili. Quindi aggiungi la seguente linea di importazione al tuo parco giochi:

import Foundation 
+0

Grazie. Sai anche perché non posso importare Cocoa? – webmagnets

+0

questa domanda può aiutare: http://stackoverflow.com/questions/24099364/no-such-module-cocoa-in-swift-playground – Vladimir