NSPredicate - filtering values based on a BOOLEAN stored value

后端 未结 8 958
终归单人心
终归单人心 2021-02-03 19:55

I have a core data model object called Entry. In this I have an attribute IsFavorite.

I would like to use an NSPredicate to filter the results of my NSFetchedResultsCont

8条回答
  •  我在风中等你
    2021-02-03 20:51

    From Apple's documentation:

    Boolean Values

    You specify and test for equality of Boolean values as illustrated in the following examples:

    NSPredicate *newPredicate =
        [NSPredicate predicateWithFormat:@"anAttribute == %@", [NSNumber numberWithBool:aBool]];
    NSPredicate *testForTrue =
        [NSPredicate predicateWithFormat:@"anAttribute == YES"];
    

    However, something that caught me out:

    Be sure to untick the Optional entity attribute and set a Default Value of YES or NO, otherwise the column will be empty (null?) and the above predicates will not match rows which are not explicitly set.

    I used the great app sqllitebrowser to diagnose this one, by looking at the resulting simulator database.

提交回复
热议问题