在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
我在最后一行收到错误:"意外的尾随关闭"。斯威夫特为什么认为这里有封闭?什么是写这条线的正确方法?
答案 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
}