Swift中的数组和字典类型声明

时间:2014-08-11 20:44:54

标签: xcode swift

根据我对文档的理解,这应该是正确的:

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]
}

在这种情况下,使用两个地方[String:AnyObject]的游乐场解释器对象。它似乎并没有将它识别为一种类型。

我仔细检查以确保我拥有最新的Xcode 6测试版,但似乎更有可能的是我的理解而不是工具中的问题,因为这将是一个巨大的大错误只有我来体验。

1 个答案:

答案 0 :(得分:1)

你必须使用旧的测试版,这适用于Beta 5游乐场:

import Foundation

println("hello")

var cookies:[NSHTTPCookie] = NSHTTPCookieStorage.sharedHTTPCookieStorage().cookies as [NSHTTPCookie]

println("goodbye")