Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/98.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios &引用;NSArray';没有名为'的成员;追加';_Ios_Objective C_Swift_Nsarray - Fatal编程技术网

Ios &引用;NSArray';没有名为'的成员;追加';

Ios &引用;NSArray';没有名为'的成员;追加';,ios,objective-c,swift,nsarray,Ios,Objective C,Swift,Nsarray,我刚刚开始学习swift编码,我正在努力学习一门教程。但是,似乎我下面的程序员可能有一个旧版本,或者我做错了什么。我正在尝试制作一个声音对象来制作一个音板。但是,当我尝试使用append将声音文件添加到数组中时,它表示方法append不是NSArray的成员。有人能告诉我解决这个问题的正确方法吗?!] NSArray是一个不可变的对象。 您必须使用NSMutableArray以下是您应该使用Swift原生类型数组的 var array: [Any] = [] 如果您知道它只有一种类型,您可以按

我刚刚开始学习swift编码,我正在努力学习一门教程。但是,似乎我下面的程序员可能有一个旧版本,或者我做错了什么。我正在尝试制作一个声音对象来制作一个音板。但是,当我尝试使用append将声音文件添加到数组中时,它表示方法
append
不是
NSArray
的成员。有人能告诉我解决这个问题的正确方法吗?!]


NSArray
是一个不可变的对象。
您必须使用
NSMutableArray
以下是您应该使用Swift原生类型数组的

var array: [Any] = []
如果您知道它只有一种类型,您可以按如下操作:

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

SWIFT和基础数组是不同类型的对象。br> Swift

Array
声明了一个名为
append
的方法,
NSMutableArray
NSArray
是不可变的,您创建后不能修改它)没有声明那种方法。
解决方案是将
NSArray
转换为
Array
类型(使用
as
操作符,因为它们是桥接的),或者在
NSMutableArray
上使用
-addObject:
方法,但首先需要对
NSArray
声明声音为

var sounds: [Sound] = []

即使是
NSMutableArray
也会返回相同的错误。它不应该是一种内置数据类型
array
您必须使用的方法是
addObject:
您应该使用Swift原生类型array