Saya memiliki tiga jenis kelas khusus (lihat di bawah) dan tiga array ComponentList, ComponentGroupList, dan ComponentGroupItemList. Array tidak terhubung, masing-masing berisi semua objek. Saya perlu memfilter komponen tertentu, semua grup terkaitnya, dan semua item terkaitnya.
Sekarang, saya tahu cara memfilter ComponentList menggunakan @"componentId==123" dan mendapatkan objek komponen yang diinginkan. Saya juga dapat memfilter grupnya dari ComponentGroupList menggunakan predikat yang sama, karena objek ComponentGroup berisi kunci ComponentId yang sama. Namun, saya tidak tahu cara memfilter objek ComponentGroupItem terkait dari ComponentGroupItemList.
Saat ini, saya telah memfilter array yang berisi objek ComponentGroup, dan saya ingin memfilter componentGroupItemList menggunakan array itu. Apakah mungkin, atau apakah saya perlu mengekstrak semua nilai "groupId" dari filteredComponentGroupList ke dalam string dan kemudian membuat predikat?
Kelas-kelas:
@interface Component : NSObject
@property (nonatomic, strong) NSNumber *componentId;
@property (nonatomic, strong) NSString *title;
@end
@interface ComponentGroup : NSObject
@property (nonatomic, strong) NSNumber *groupId;
@property (nonatomic, strong) NSNumber *componentId;
@property (nonatomic, strong) NSString *title;
@end
@interface ComponentGroupItem : NSObject
@property (nonatomic, strong) NSNumber *itemId;
@property (nonatomic, strong) NSNumber *groupId;
@property (nonatomic, strong) NSString *title;
@end