Как мне вернуть весь набор / массив, используя NSPredicate? - PullRequest
2 голосов
/ 29 марта 2010

Я создаю carArray и хочу условно отфильтровать содержимое, используя NSPredicate, например:

NSPredicate *pred;
switch (carType) {
  case FreeCar:
    pred = [NSPredicate predicateWithFormat:@"premium = NO"];
    break;
  case PremiumCar:
    pred = [NSPredicate predicateWithFormat:@"premium = YES"];
    break;
  default:
    pred = [NSPredicate predicateWithFormat:@"SOME PREDICATE THAT RETURNS EVERYTHING"];
    break;
}
self.carArray = [aCarArrayIGotFromSomewhere filteredArrayUsingPredicate:pred];

Мой вопрос: каков правильный синтаксис для значения, которое я обозначил как SOME PREDICATE THAT RETURNS EVERYTHING, который возвращает все экземпляры в массиве / наборе?

Ответы [ 2 ]

9 голосов
/ 29 марта 2010

Для возврата всего содержимого заданного массива / набора:

Swift:

NSPredicate(value: true)

например:

let array : NSArray = ["a", "b", "c", "d", "e"] let predicate = NSPredicate(value: true) array.filteredArrayUsingPredicate(predicate)

Выходы:

["a", "b", "c", "d", "e"]

Чтобы исключить все содержимое данного массива / набора:

Swift:

NSPredicate(value: false)

например:

let array : NSArray = ["a", "b", "c", "d", "e"] let predicate = NSPredicate(value: false) array.filteredArrayUsingPredicate(predicate)

выходы:

[]

3 голосов
/ 11 мая 2016

Для всегда true или всегда false вы можете использовать [NSPredicate predicateWithValue:YES] или [NSPredicate predicateWithValue:NO].

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...