0
在Swift中,我試圖初始化一個新分配的NSArray
,其中包含URL指定位置的內容。意外的尾部封閉
我想以下Objective-C代碼的夫特當量:
NSURL *url = [[NSBundle mainBundle] URLForResource:@"MyResourceFile" withExtension:@"plist"];
NSArray *myArray = [[NSArray alloc] initWithContentsOfURL:url];
我在NSArray
Class Reference看到,有用於夫特一個init
方便初始化。
我有什麼至今在斯威夫特:「意外的尾隨關閉」:
var url: NSURL = NSBundle.mainBundle().URLForResource("MyResourceFile", withExtension: "plist")!
var myArray: NSArray = NSArray.alloc()
myArray.init(url) // <-- Error: "Unexpected trailing closure"
我就上線得到一個錯誤。爲什麼Swift認爲這裏有關閉?什麼是寫這條線的正確方法?
而且,對於Objective-C的初始化是如何轉化爲斯威夫特,看看我的書:http://www.apeth.com/swiftBook/apa.html#_objective_c_initializers_and_factories – matt