Swift'NSArray?' 没有名为“count”的成员

我很确定.count返回一个数组的长度,但由于某种原因,当我使用它,它抛出了一个奇怪的错误。

下面是我的代码:

 let dataFile = NSBundle.mainBundle().pathForResource(RopeDataFile, ofType: nil) let ropes = NSArray(contentsOfFile: dataFile!); for i in 0..<ropes.count { } 

RopeDataFile是我之前做的属性列表的一个常量。

由于某种原因,它给了这个错误ropes.count

'NSArray的?' 没有名为“count”的成员。

如果问题很简单,我很快就会很抱歉。

NSArray(contentsOfFile: dataFile!)返回一个可选的数组。 所以你必须使用像

 ropes?.count 

或者你可以先解开ropesarrays

 if let array = ropes{ for i in 0..< array.count { } } 
 ropes!.count 

使用!

 NSArray(contentsOfFile: dataFile!) return an optional array