是否可以創建NSPredicate以基於let說object.name來過濾? (對象是我想要過濾的對象的屬性)。具有子屬性的NSPredicate
編輯:通過過濾器,我的意思是我有縮寫的列表,當用戶點擊一個,我想刪除所有引腳,其中object.name與初開始。
例如:我見過this question接受的答案顯示瞭如何使用NSPredicate和子類過濾地圖視圖上的引腳。這幾乎是我想要的。
但在我的情況下,我有一個CustomPin類,它繼承MKAnnotation。我的自定義引腳有一個名爲「object」的屬性,它是Friend類的繼承NSManagedObject的屬性。
現在我想篩選pin.object.name。另外:(如果由於這部分原因不可能,那麼我會爲Friend和Pet創建一個超類,並且讓它們都繼承它的名字,但是現在它不是這樣做的,所以我已經也增加了這部分)。
爲了使事情更忙碌,對象可以是Friend或Pet類,它們都繼承NSManagedObject並具有屬性「name」。
這裏是我的CustomPin類:
@interface CustomPin : NSObject <MKAnnotation, OCGrouping>
- (CustomPin *)initWithCoordinate:(CLLocationCoordinate2D)coordinate title:(NSString *)title subtitle:(NSString *)subtitle pinType:(NSNumber *)pinType;
@property (nonatomic) CLLocationCoordinate2D coordinate;
@property (nonatomic, copy) NSString *title;
@property (nonatomic, copy) NSString *subtitle;
@property (nonatomic, strong) NSNumber *pinType;
@property (nonatomic, copy) NSString *groupTag;
@property (nonatomic, weak) NSManagedObject *object;
這裏是我的朋友等級:
@property (nonatomic, retain) NSString * address;
@property (nonatomic, retain) NSNumber * latitude;
@property (nonatomic, retain) NSNumber * longitude;
@property (nonatomic, retain) NSString * name;
@property (nonatomic, retain) NSString * phone_no;
@property (nonatomic, retain) NSString * type;
這是我的寵物類:
@property (nonatomic, retain) NSString * address;
@property (nonatomic, retain) NSNumber * latitude;
@property (nonatomic, retain) NSNumber * longitude;
@property (nonatomic, retain) NSString * name;
@property (nonatomic, retain) NSString * phone_no;
顯然類名是公正的例子清酒。
我沒有pin.name。我有pin.object.name。 –
你可以使用一個關鍵路徑的謂詞,例如: - [[NSPredicate predicateWithFormat:@「object.name like%@」,nameOfObject];' 我編輯了上面的答案 – sleepwalkerfx