NSPredicate 不等于不工作
NSPredicate for Not Equal To not working
我正在尝试让以下 NSPredicate
工作但没有成功:
NSPredicate *predicate = [NSPredicate predicateWithFormat:[NSString stringWithFormat:@"obsSchoolName == '%@' AND obsStatus != 'paused'", currentSchool]];
有4条记录,其中一条设置obsStatus为'paused'
如果我删除 obsStatus,它将显示所有 4 条记录!= 'paused'。
如果我输入 obsStatus == 'paused' 它会显示 obsStatus 为 'paused' 的一条记录。
但是使用 obsStatus != 'paused' 我根本没有任何记录。
有什么想法吗?
我也试过:
NSPredicate *predicate = [NSPredicate predicateWithFormat: @"obsSchoolName == '%@' AND obsStatus != 'paused'", currentSchool];
NOT(obsStatus == 'paused')
obsStatus <> 'paused'
删除学校名称替换周围的单引号。 (@Tony 做对了,但错误地假设替换是动态 属性)。
NSDictionary *r0 = @{ @"obsSchoolName": @"UCLA", @"obsStatus":@"not paused" };
NSDictionary *r1 = @{ @"obsSchoolName": @"UCLA", @"obsStatus":@"not paused" };
NSDictionary *r2 = @{ @"obsSchoolName": @"UCLA", @"obsStatus":@"paused" };
NSDictionary *r3 = @{ @"obsSchoolName": @"UCLA", @"obsStatus":@"not paused" };
NSDictionary *r4 = @{ @"obsSchoolName": @"USC", @"obsStatus":@"not paused" };
NSArray *records = @[r0, r1, r2, r3, r4];
NSString *currentSchool = @"UCLA";
// note: NOT obsSchoolName == '%@'
NSPredicate *predicate = [NSPredicate predicateWithFormat: @"obsSchoolName == %@ AND obsStatus != 'paused'", currentSchool];
NSArray *filtered = [records filteredArrayUsingPredicate:predicate];
NSLog(@"%@", filtered);
我正在尝试让以下 NSPredicate
工作但没有成功:
NSPredicate *predicate = [NSPredicate predicateWithFormat:[NSString stringWithFormat:@"obsSchoolName == '%@' AND obsStatus != 'paused'", currentSchool]];
有4条记录,其中一条设置obsStatus为'paused'
如果我删除 obsStatus,它将显示所有 4 条记录!= 'paused'。
如果我输入 obsStatus == 'paused' 它会显示 obsStatus 为 'paused' 的一条记录。
但是使用 obsStatus != 'paused' 我根本没有任何记录。
有什么想法吗?
我也试过:
NSPredicate *predicate = [NSPredicate predicateWithFormat: @"obsSchoolName == '%@' AND obsStatus != 'paused'", currentSchool];
NOT(obsStatus == 'paused')
obsStatus <> 'paused'
删除学校名称替换周围的单引号。 (@Tony 做对了,但错误地假设替换是动态 属性)。
NSDictionary *r0 = @{ @"obsSchoolName": @"UCLA", @"obsStatus":@"not paused" };
NSDictionary *r1 = @{ @"obsSchoolName": @"UCLA", @"obsStatus":@"not paused" };
NSDictionary *r2 = @{ @"obsSchoolName": @"UCLA", @"obsStatus":@"paused" };
NSDictionary *r3 = @{ @"obsSchoolName": @"UCLA", @"obsStatus":@"not paused" };
NSDictionary *r4 = @{ @"obsSchoolName": @"USC", @"obsStatus":@"not paused" };
NSArray *records = @[r0, r1, r2, r3, r4];
NSString *currentSchool = @"UCLA";
// note: NOT obsSchoolName == '%@'
NSPredicate *predicate = [NSPredicate predicateWithFormat: @"obsSchoolName == %@ AND obsStatus != 'paused'", currentSchool];
NSArray *filtered = [records filteredArrayUsingPredicate:predicate];
NSLog(@"%@", filtered);