Nano Hash - криптовалюты, майнинг, программирование

как отфильтровать несколько строк в NsmutableArray

Привет всем в моих проектах, у меня есть NSMutableArray, содержащий числовое значение словаря, здесь я отфильтровал одну строку, но теперь я хочу отфильтровать несколько строк в этом массиве, то есть ниже мое значение массива

(
        {
        BusAC = "A/C";
        BusFare = 550;
        BusType = "Semi Sleeper";
        TravelsName = "ABC Travels";
    },
        {
        BusAC = "Non A/C";
        BusFare = 600;
        BusType = Seater;
        TravelsName = "Arulmigu Aandal Azahagar Madurai Express";
    },
        {
        BusAC = "A/C";
        BusFare = 1250;
        BusType = Sleeper;
        TravelsName = "GSP  Travels";
    },
        {
        BusAC = "Non A/C";
        BusFare = 350;
        BusType = "Semi Sleeper";
        TravelsName = "Madura  Travels";
    },
        {
        BusAC = "A/C";
        BusFare = 420;
        BusType = Seater;
        TravelsName = "MJT Travels";
    },
        {
        BusAC = "A/C";
        BusFare = 1500;
        BusType = Sleeper;
        TravelsName = "OPR Travels";
    },
        {
        BusAC = "Non A/C";
        BusFare = 730;
        BusType = Seater;
        TravelsName = "MJT Travels";
    }
)

в этом я отфильтровал по одной строке, например Sleeper bus

NSPredicate *predicateStr1 = [NSPredicate predicateWithFormat:@"%K == %@", @"BusType",@"Sleeper"];
 NSMutableArray *filteredArray1 = [NSMutableArray arrayWithArray:[totDictArray filteredArrayUsingPredicate:predicateStr1]];

затем я отфильтровал две строки, такие как Sleeper и AC

NSPredicate * prediStr=[NSPredicate predicateWithFormat:@"BusType == %@ AND BusAC == %@",@"Sleeper",@"A/C"];

это также работает хорошо, но теперь я хочу фильтровать, например, массив и строку

String is A/C & Array value is (
    "ABC Travels",
    "GSP  Travels"
) 

Я попробовал этот код здесь, arr - это вышеупомянутый массив

 for (int i=0; i<arr.count; i++)
        {
            NSPredicate * prediStr=[NSPredicate predicateWithFormat:@"TravelsName == %@ AND BusAC == %@",arr[i],@"A/C"];
            NSLog(@"prediStr %@",prediStr);
            NSMutableArray *filteredArray = [NSMutableArray arrayWithArray:[totDictArray filteredArrayUsingPredicate:prediStr]];
                NSLog(@"filteredArray %@",filteredArray);
        }

Помоги мне..

Обновлено

(
        {
        Boarding =         (
            "CMBT Omini BS",
            CMBT,
            Vadapalani,
            "Ashok Nagar",
            Thambaram,
            Perungulathur,
            Vandalur
        );
        BusAC = "A/C";
        BusFare = 550;
        BusType = "Semi Sleeper";
        Dropping = "Trichy Bypass";
        TravelsName = "ABC Travels";
    },
        {
        Boarding =         (
            "CMBT Omini BS",
            CMBT,
            Vadapalani,
            "Ashok Nagar",
            Thambaram,
            Perungulathur,
            Vandalur
        );
        BusAC = "Non A/C";
        BusFare = 600;
        BusType = Seater;
        Dropping = "Chathram BS";
        TravelsName = "Arulmigu Aandal Azahagar Madurai Express";
    },
        {
        Boarding =         (
            "CMBT Omini BS",
            CMBT,
            Vadapalani,
            "Ashok Nagar",
            Thambaram,
            Perungulathur,
            Vandalur
        );
        BusAC = "A/C";
        BusFare = 1250;
        BusType = Sleeper;
        Dropping = "Thillai Nagar";
        TravelsName = "GSP  Travels";
    },
        {
        Boarding =         (            
            Thambaram,
            Perungulathur,
            Vandalur
        );
        BusAC = "Non A/C";
        BusFare = 350;
        BusType = "Semi Sleeper";
        Dropping = "Trichy Bypass";
        TravelsName = "Madura  Travels";
    },
        {
        Boarding =         (
            "CMBT Omini BS",
            CMBT,
            Vadapalani,
            "Ashok Nagar",
            Guindy,
            Velachery,
            Thambaram,
        );
        BusAC = "A/C";
        BusFare = 420;
        BusType = Seater;
        Dropping = "Court Campus";
        TravelsName = "MJT Travels";
    },
        {
        Boarding =         (
            "CMBT Omini BS",
            CMBT,
            Thambaram,
            Perungulathur,
            Vandalur
        );
        BusAC = "A/C";
        BusFare = 1500;
        BusType = Sleeper;
        Dropping = "Central BS";
        TravelsName = "OPR Travels";
    },
        {
        Boarding =         (
            "CMBT Omini BS",
            CMBT,
            Vadapalani,
            "Ashok Nagar",
            Thambaram,
        );
        BusAC = "Non A/C";
        BusFare = 730;
        BusType = Seater;
        Dropping = "Omini BS";
        TravelsName = "MJT Travels";
    }
)

в этом массиве у меня есть посадка, также в этом я хочу отфильтровать массив посадки, что означает, что BusAC - это кондиционер, а посадка - это

 (Guindy,
            Velachery,
            Thambaram,)

Ответы:


1

Чтобы определить, найдено ли значение в массиве, используется оператор IN.

[NSPredicate predicateWithFormat:@"TravelsName IN %@", array];
24.11.2015
  • большое спасибо, все работает... мне нужно больше узнать о NSPredicate. 24.11.2015
  • Просто подождите, пока вы, наконец, не поймете SUBQUERY(). Открывает целый мир :) 24.11.2015
  • привет, у меня есть еще одно сомнение в том, что у меня абордаж, это значение массива означает, как я его фильтрую 24.11.2015
  • Задайте отдельный вопрос или измените этот. Я не могу понять, что вы имеете в виду, без примера. 24.11.2015
  • Проще всего построить составной предикат ИЛИ, где каждый подпредикат использует IN. Я уверен, что есть лучший способ, но я слишком занят, чтобы решить это сейчас. 24.11.2015
  • не могли бы вы помочь мне отфильтровать этот интернат 25.11.2015
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..