斯威夫特'NSArray?' 没有名为'count'的成员

use*_*098 3 ios swift

我很确定.count返回数组的长度,但出于某种原因,当我使用它时,它会引发一个奇怪的错误.

继承我的代码:

let dataFile = NSBundle.mainBundle().pathForResource(RopeDataFile, ofType: nil)
let ropes = NSArray(contentsOfFile: dataFile!);

for i in 0..<ropes.count {
}
Run Code Online (Sandbox Code Playgroud)

RopeDataFile 是我之前制作的属性列表的常量.

出于某种原因,它会出现此错误ropes.count,

'NSArray的?' 没有名为'count'的成员.

如果问题非常简单,我很快就会对此表示不满.

Ani*_*ese 6

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

ropes?.count
Run Code Online (Sandbox Code Playgroud)

或者您可以先打开ropes阵列

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

    }
Run Code Online (Sandbox Code Playgroud)