按值过滤 NSMutableArray 数据到 Swift 中的对象

Filter NSMutableArray data by value into object in Swift

我有这个问题

我在 iOS 9 的项目中使用 Swift 2.0。我创建了一个这样的对象:

public class element_x: NSObject{
   var name: String!
   var description_element: String!
}

因此,在一个方法中,我声明了两个 NSMutableArray:1) 用于所有数据,2) 用于过滤数据,如下所示:

var original = NSMutableArray()
var filtered = NSMutableArray()

在这个过程中,我像这样填充这个 NSMutableArray:

let custom_object = element_x()
self.original.addObject(custom_object);

我的问题是:如何按名称值过滤原始数组并保存在过滤后的数组中?

您不必使用 NSMutableArray。 Swift 中的原生 Array 类型非常有能力。您可以使用 var(相当于 NSMutableArray)声明它是可变的,或者使用 let(与 NSArray 相同)声明为常量:

public class element_x: NSObject{
   var name: String!
   var description_element: String!
}

// Declare an array containing elements of element_x type
var original = [element_x]()
var filtered = [elememt_x]()

let custom_object = element_x()
self.original.append(custom_object)

// Find all elements with name == "david"
self.filtered = self.original.filter { [=10=].name == "david" }