如何在 Xcode 6.1 的 Swift 中使用 NSURL?
Posted
技术标签:
【中文标题】如何在 Xcode 6.1 的 Swift 中使用 NSURL?【英文标题】:How do I use NSURL in Swift in Xcode 6.1? 【发布时间】:2014-11-13 13:15:14 【问题描述】:我做错了什么?我正在尝试使用 api,但首先我需要学会在 swift 中做 http 的东西。
我在操场上使用这段代码:
// 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://***.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)
并在控制台中收到这些错误:
Playground execution failed: <EXPR>:12:11: error: use of unresolved identifier 'NSURL'
let url = NSURL(string: "http://www.***.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))
【问题讨论】:
我建议你使用 NSUrlConnection 和 NSUrlConnectionDataDelegate 进行异步调用。尝试做一个测试项目,因为在 Playgroud 中可能有点困难,恕我直言,能够对其进行测试并准备好在真实环境中使用 【参考方案1】:您需要导入 Foundation 框架以使这些类型可用。因此,将以下导入行添加到您的 Playground:
import Foundation
【讨论】:
谢谢。你也知道为什么我不能导入 Cocoa 吗? 这个问题可能会有所帮助:***.com/questions/24099364/…以上是关于如何在 Xcode 6.1 的 Swift 中使用 NSURL?的主要内容,如果未能解决你的问题,请参考以下文章
Xcode 6.1 if/else/for/switch 语句不自动完成(仅限 Swift)
Swift:GM Xcode 6.1 和 AFNetworking AFJSONResponseSerializer
在 Xcode 6.1 中,我有两个导航按钮。但它们在故事板上不再可见。我如何让他们回来?