" NSArray的'没有名为'追加'的成员

时间:2015-05-27 06:25:13

标签: ios objective-c swift nsarray

我刚刚进入快速编码,我正在尝试遵循教程。但似乎我跟随的编码器可能有旧版本,或者我做错了什么。我正在尝试制作一个声音对象来制作音板。但是当我尝试使用append将声音文件添加到数组时,它表示方法append不是NSArray的成员。谁能告诉我解决这个问题的正确方法是什么?!] 1

enter image description here

4 个答案:

答案 0 :(得分:23)

将声音声明为

var sounds: [Sound] = []

答案 1 :(得分:11)

您应该使用Swift本机类型Array

var array: [Any] = []

如果您知道它只有一种类型,您可以执行以下操作:

var intArray: [Int] = []
var doubleArray: [Double] = []
var stringArray: [String] = []

答案 2 :(得分:3)

Swift和Foundation数组是不同类型的对象。
Swift Array声明了一个名为append的方法,NSMutableArrayNSArray是不可变的,您在创建后无法对其进行修改)并未声明这种方式方法。
解决方案是将NSArray转换为Array类型(使用as运算符,因为它们已被桥接),或者使用-addObject:上的NSMutableArray方法,但首先您需要制作-mutableCopy

NSArray

答案 3 :(得分:1)

NSArray是一个不可变对象。 您必须使用NSMutableArray以下是documentation