如何根据特定属性过滤模型数组

use*_*088 3 filter ios swift

我有一个包含这些属性的模型类:-

class ItemModel:NSObject{
   var itemName:String?
   var itemPrice:String?
   var itemCategory:String?
   var isAvailable:Bool?
}
Run Code Online (Sandbox Code Playgroud)

我有一个ItemModelClass类型的数组

var itemArray = [ItemModel]()
Run Code Online (Sandbox Code Playgroud)

我想根据 itemCategory

Mik*_*ash 5

你可以尝试这样的事情:

itemArray.filter({$0.itemCategory == "Test"})
Run Code Online (Sandbox Code Playgroud)

$0 将在数组中显示该对象,您可以将它用于对象中的每个属性。


小智 5

尝试这个

let filteredArray = self.originalArray.filter({($0.itemCategory.localizedCaseInsensitiveContains(searchText))!})
Run Code Online (Sandbox Code Playgroud)