意外尾随关闭

时间:2015-05-06 04:21:30

标签: swift

在Swift中,我尝试使用URL指定的位置内容初始化新分配的sentiment

我希望Swift等效于以下Objective-C代码:

NSArray

我在NSURL *url = [[NSBundle mainBundle] URLForResource:@"MyResourceFile" withExtension:@"plist"]; NSArray *myArray = [[NSArray alloc] initWithContentsOfURL:url]; Class Reference中看到,Swift有一个NSArray便利初始化程序。

到目前为止我在Swift中的所作所为:

init

我在最后一行收到错误:"意外的尾随关闭"。斯威夫特为什么认为这里有封闭?什么是写这条线的正确方法?

1 个答案:

答案 0 :(得分:1)

永远不要在Swift中说alloc。只需使用初始化程序:

var myArray = NSArray(contentsOfURL:url)

注意(继续执行代码时)结果是Optional,因为初始化程序可能会失败(URL内容可能不是有效数组)。解决这个问题的Swifty成语是:

if let myArray = NSArray(contentsOfURL: url) {
    // do stuff with myArray, which is now an actual array
}