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'
Trả lời
Khai báo âm thanh như
var sounds: [Sound] = []
NSArray
là một đối tượng bất biến là gì. Bạn phải sử dụng NSMutableArray
Đây là documentation
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' –
Phương thức bạn phải sử dụng là' addObject: ' – Jens
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] = []
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
- 1. ViewController.Type không có thành viên có tên
- 2. Swift 'không có thành viên có tên'
- 3. [AnyObject]? ' không có thành viên có tên 'subscript'
- 4. Swift 'String.Type' không có thành viên có tên 'stringWithContentsOfFile'
- 5. (String: AnyObject) không có thành viên có tên 'subscript'
- 6. 'AppDelegate' không có thành viên có tên 'managedObjectContext'
- 7. : ‘struct sigevent’ không có thành viên nào có tên ‘sigev_notify_thread_id’
- 8. Chuỗi không có thành viên có tên là ký tự?
- 9. 'PFObject' không có thành viên có tên 'subscript'
- 10. không gian tên "std" không có thành viên "sắp xếp"
- 11. 'std :: string' không có thành viên mang tên 'trước'
- 12. Lớp C++ không có thành viên tên là
- 13. C++ lỗi: lớp đã không có thành viên mang tên
- 14. Lớp kế thừa C++ có thành viên cùng tên
- 15. 'Set' <NSObject> không có một thành viên có tên là 'anyObject'
- 16. 6.0.1 và thay đổi bảng "UILabel? Không có thành viên có tên 'văn bản"
- 17. Sự cố: 'PrincipalViewController' không có thành viên có tên 'revealViewController' trong swift
- 18. Swift 3 JSON NSFastEnumerationIterator không có thành viên subscript
- 19. Nhập 'DispatchQueue.Attributes' không có thành viên 'serial'
- 20. không có thành viên xuất khẩu 'CoordinateReferenceSystem'
- 21. Loại Không có thành viên đăng ký?
- 22. Có thể lọc NSArray theo lớp không?
- 23. chuyển từ Qt 5.6 sang Qt 5.7 - "không có thành viên 'make_unique' trong không gian tên std"
- 24. Tạo thuộc tính python có cùng tên với tên thành viên của lớp
- 25. TypeScript | Mô-đun không có thành viên xuất khẩu
- 26. ADL có tra cứu các hàm thành viên tĩnh không?
- 27. Có thể lấy tên và giá trị của các thành viên của enum trong D không?
- 28. Lỗi trong cstdint: Không có thành viên nào được đặt tên xxx trong không gian tên chung
- 29. Cấu trúc với một thành viên có hiệu suất giống như kiểu thành viên không?
- 30. Có thể một thành viên của một lớp được đặt tên giống với tên của nó (lớp khác) không?
Bạn nên làm việc với loại gốc nhanh Array –