Có cả vấn đề với câu trả lời của GoZon cho một số loại dữ liệu nhất định và cũng là cách tốt hơn để thực hiện việc này. Các ví dụ sau đây có thể hiển thị điều này:
let animalArray: NSMutableArray = ["Dog","Cat","Otter","Deer","Rabbit"]
let filteredAnimals = animalArray.filter { $0.rangeOfString("er") != nil }
print("filteredAnimals:", filteredAnimals)
filteredAnimals: [Dog, Cat, Otter, Deer, Rabbit]
Có thể không phải là bộ bạn mong đợi!
Tuy nhiên này hoạt động tốt theo cách này nếu chúng ta không gõ animalArray như một NSMutableArray:
let animalArray = ["Dog","Cat","Otter","Deer","Rabbit"]
let filteredAnimals = animalArray.filter { $0.rangeOfString("er") != nil }
print("filteredAnimals:", filteredAnimals)
filteredAnimals: [Otter, Deer]
Tuy nhiên tôi khuyên bạn nên sử dụng $ 0.contains() thay vì $ 0.rangeOfString()! = nil vì nó hoạt động trong cả hai trường hợp và tăng cường khả năng đọc của mã:
let animalArray: NSMutableArray = ["Dog","Cat","Otter","Deer","Rabbit"]
let filteredAnimals = animalArray.filter { $0.contains("er") }
print("filteredAnimals:", filteredAnimals)
filteredAnimals: [Otter, Deer]
Nguồn
2016-06-30 19:58:34
Lỗi chính xác bạn nhận được là gì? Những gì được in nếu bạn thử 'NSLog (" \ (từ khóa) ")'? – Undo
Chỉ cần thông báo rằng bạn đang trả lại tùy chọn. Hy vọng điều này sẽ giúp –
nó không chạy nó mang lại cho tôi những lỗi được đề cập ở trên: "AnyObject không phải là một loại phụ của NSString" – Meseery