“NSArray' 没有名为 'append' 的成员
"NSArray' does not have a member named 'append'
我刚刚开始 swift 编码,我正在尝试学习教程。但似乎我关注的编码器可能有旧版本,或者我做错了什么。我正在尝试制作一个声音对象来制作音板。但是当我尝试使用追加将声音文件添加到数组时,它说方法 append
不是 NSArray
的成员。谁能告诉我解决这个问题的正确方法是什么?!]1
NSArray
是一个不可变对象。
你必须使用 NSMutableArray
这里是 documentation
您应该使用 Swift 本机类型数组
var array: [Any] = []
如果您知道它只有一种类型,您可以按照以下步骤操作:
var intArray: [Int] = []
var doubleArray: [Double] = []
var stringArray: [String] = []
Swift 和 Foundation 数组是不同类型的对象。
Swift Array
声明了一个叫append
的方法,NSMutableArray
(NSArray
是不可变的,创建后不能修改)没有声明那种方法。
解决方案是将 NSArray
转换为 Array
类型(使用 as
运算符,因为它们是桥接的),或者在 NSMutableArray
上使用方法 -addObject:
, 但首先你需要制作 NSArray
的 -mutableCopy
将声音声明为
var sounds: [Sound] = []
我刚刚开始 swift 编码,我正在尝试学习教程。但似乎我关注的编码器可能有旧版本,或者我做错了什么。我正在尝试制作一个声音对象来制作音板。但是当我尝试使用追加将声音文件添加到数组时,它说方法 append
不是 NSArray
的成员。谁能告诉我解决这个问题的正确方法是什么?!]1
NSArray
是一个不可变对象。
你必须使用 NSMutableArray
这里是 documentation
您应该使用 Swift 本机类型数组
var array: [Any] = []
如果您知道它只有一种类型,您可以按照以下步骤操作:
var intArray: [Int] = []
var doubleArray: [Double] = []
var stringArray: [String] = []
Swift 和 Foundation 数组是不同类型的对象。
Swift Array
声明了一个叫append
的方法,NSMutableArray
(NSArray
是不可变的,创建后不能修改)没有声明那种方法。
解决方案是将 NSArray
转换为 Array
类型(使用 as
运算符,因为它们是桥接的),或者在 NSMutableArray
上使用方法 -addObject:
, 但首先你需要制作 NSArray
-mutableCopy
将声音声明为
var sounds: [Sound] = []