根据我对文档的理解,这应该是正确的:
var cookies: [NSHTTPCookie] = NSHTTPCookieStorage.sharedHTTPCookieStorage().cookies as [NSHTTPCookie]
我正在其中创建 NSHTTPCookie 对象数组。然而,解释器不喜欢这种语法,给我“‘as’后的预期类型”,并在末尾的 [NSHTTPCookie]
的左括号处放置一个小指针。
但是,这有效:
var cookies:NSHTTPCookie[] = NSHTTPCookieStorage.sharedHTTPCookieStorage().cookies as NSHTTPCookie[]
但是,从文档来看,第一个版本似乎更正确。
这是另一个示例,这次使用的是其他人的代码。使用此代码的其他人没有报告与我得到的相同行为。 (这只是一个片段;如果上下文相关,请告诉我,我将发布更多内容)
func asDict(x: AnyObject) -> [String:AnyObject]? {
return x as? [String:AnyObject]
}
在这种情况下,两个地方都使用了 Playground 解释器对象[String:AnyObject]
。它似乎只是没有将其识别为一种类型。
我仔细检查以确保我拥有最新的 Xcode 6 测试版,但对我来说,问题更有可能出在我的理解中,而不是出在工具中,因为这对于只有我自己去体验。
最佳答案
您必须使用旧的测试版,这适用于 Beta 5 Playground :
import Foundation
println("hello")
var cookies:[NSHTTPCookie] = NSHTTPCookieStorage.sharedHTTPCookieStorage().cookies as [NSHTTPCookie]
println("goodbye")
关于xcode - Swift 中的数组和字典类型声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25252086/