2
我有如下結構的對象:Transaction有一個Items數組。項目有子項的數組NSArray的NSArray中的對象的屬性的NSPredicate
@interface Transaction : NSObject
@property (nonatomic, copy) NSString *id;
@property (nonatomic, assign) NSInteger status;
@property (nonatomic, strong) NSArray *items; // array of Item
@end
@interface Item : NSObject
@property (nonatomic, copy) NSString *identifier;
@property (nonatomic, assign) NSInteger price;
@property (nonatomic, strong) NSArray *subitems;
@end
@interface SubItem : NSObject
@property (nonatomic, copy) NSString *name;
@property (nonatomic, assign) NSInteger price;
@end
我想創建謂詞找到名和子項目從NSArray的交易的
pred = [NSPredicate predicateWithFormat:
@"ANY SELF.%K.%K.%K contains %@",
@"items",
@"subitems",
@"name",
@"MY_SUB_ITEM_NAME"];
價格這會產生下面的錯誤。
失敗:抓好 「NSInvalidArgumentException」, 「不能做正則表達式匹配的對象( MY_SUB_ITEM_NAME) 。」
但是,當我使用類似的格式來查找交易中的屬性。它工作正常。
pred = [NSPredicate predicateWithFormat:
@"SELF.%K LIKE %@",
@"identifier",
@"TX001"];
我應該如何改正我的謂語項目和子項目
什麼是ID和「MY_SUB_ITEM_NAME」?我沒有在子項中找到任何字段,例如id –
'My_SUB_ITEM_NAME'是比較的值。它與物業無關。 –
對不起,我的錯誤輸入'id'。它應該是'名字'。 –