如何追加数组。 或者我如何将模型转换为nsmuttable数组

在我的应用程序中,我使用alamofire对象映射器来使用MVC结构。 现在我得到一个数组,我适合模型类。

这里是模型类

class OrderDetailSecond: Mappable { var id : Int? var isRxMedicine : Int? var medicineTypeId : String? var name : String? var orderId : String? var price : String? var quentity : Int? var strength : String? required init?(_ map: Map){ } func mapping(map: Map) { id <- map["id"] isRxMedicine <- map["is_rx_medicine"] medicineTypeId <- map["medicine_type_id"] name <- map["name"] orderId <- map["order_id"] price <- map["price"] quentity <- map["qty"] strength <- map["strengh"] } } 

注意:OrderDetailSecond是一个数组

现在在orderData我是那个数组[OrderDetailSecond]

该数组有这样的许多对象

 ( { id = 50158; "is_rx_medicine" = 1; "medicine_type_id" = 2; name = "1-11~qwe"; "order_id" = 50128; price = "<null>"; qty = 12; strengh = "12 mcg"; }, { id = 50159; "is_rx_medicine" = 1; "medicine_type_id" = 3; name = "1-12~qwe"; "order_id" = 50128; price = "<null>"; qty = 12; strengh = "12 ng/dL"; } ); 

现在我只想要那个“is_rx_medicine”= 1的对象;

并想在任何相关数组中添加该对象。 那我该怎么做呢?

这是我的尝试。

 for mytest in orderdata { if mytest.isRxMedicine == 1 { self.myarray?.addObject(mytest) } } 

注:在这个mytest是typesOrderDetailSecond像let mytest:OrderDetailSecond

当我打印myarray它显示orderpilz.OrderDetailSecond这是我的课程名称。

当我试图打印这样的

  print(myarray?.objectAtIndex(0).valueForKey("quentity")) 

它给我这个错误

  *** NSForwarding: warning: object 0x1461b800 of class 'orderpilz.OrderDetailSecond' does not implement methodSignatureForSelector: -- trouble ahead Unrecognized selector -[orderpilz.OrderDetailSecond valueForKey:] 

可能的select。

1->我可以做这样的对象的数组,然后手动添加到该对象的值,然后将该对象添加到数组。 所以,让我知道我该怎么做

您可以简单地过滤orderdata数组而不是循环并检查条件

 let filteredArray = orderdata.filter({ $0.isRxMedicine == 1 }) 

这将返回一个isRxMedicine = 1的对象数组

注意: filteredArray的对象types与orderdata对象相同