2015-05-27 18 views
9

Tôi chỉ cần viết mã nhanh và tôi đang cố gắng làm theo hướng dẫn. Nhưng có vẻ như bộ mã hóa tôi đang theo dõi có thể có phiên bản cũ hơn hoặc tôi Tôi đang cố gắng tạo ra một vật thể âm thanh để tạo một soundboard nhưng khi tôi cố gắng thêm tập tin âm thanh vào mảng bằng cách nối thêm, nó nói rằng phương thức append không phải là thành viên của NSArray. đúng cách để làm giải quyết này ?!] 1"NSArray" không có thành viên có tên 'append'

enter image description here

+2

Bạn nên làm việc với loại gốc nhanh Array –

Trả lời

23

Khai báo âm thanh như

var sounds: [Sound] = [] 
1

NSArray là một đối tượng bất biến là gì. Bạn phải sử dụng NSMutableArray Đây là documentation

+2

ngay cả 'NSMutableArray' sẽ trả về cùng lỗi. Nó không phải là một kiểu dữ liệu sẵn có 'mảng' –

+0

Phương thức bạn phải sử dụng là' addObject: ' – Jens

11

Bạn nên làm việc với Swift có nguồn gốc loại Mảng

var array: [Any] = [] 

nếu bạn biết điều đó sẽ chỉ có một loại mà bạn có thể làm như sau:

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

Swift và Foundation mảng là các loại đối tượng khác nhau.
Swift Array tuyên bố phương thức có tên là append, NSMutableArray (NSArray là bất biến, bạn không thể sửa đổi nó sau khi tạo) không khai báo loại phương thức đó.
Các giải pháp được đúc bạn NSArray thành một loại Array (sử dụng toán tử as, kể từ khi họ được bắc cầu), hoặc sử dụng các phương pháp -addObject: trên NSMutableArray, nhưng trước tiên bạn cần phải thực hiện một -mutableCopy của NSArray

Các vấn đề liên quan