Как проверить, что мой NSString существует в моем NSMutableOrderedSet? - PullRequest
1 голос
/ 17 января 2020

Я получаю ответ ниже от одного из сторонних SDK. Теперь, как проверить, что в ответе присутствует мое значение String? И ключ мне нужно сравнить с ключом friendlyName.

 channelList = (
     "<<TCHChannel: 0x2816df040>: sid: 'CH84', friendlyName: 'Mihir : MihirOza', attributes: '(null)'>",

     "<<TCHChannel: 0x2816dc480>: sid: '644d', friendlyName: 'Testchannel2', attributes: '(null)'>",

     "<<TCHChannel: 0x2816dff40>: sid: 'df38', friendlyName: 'privateios', attributes: '(null)'>" )  

Вот код, который я использую.

TCHChannels *channelsList = [[[ChatManager sharedManager] client] channelsList];
NSMutableOrderedSet<TCHChannel *> *newChannels = [[NSMutableOrderedSet alloc] init];
[newChannels addObjectsFromArray:[channelsList subscribedChannels]];
NSMutableArray<TCHChannel *> *temp = [[NSMutableArray alloc] initWithArray:[newChannels array]];
NSLog(@"channelList = %@",temp);

Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 17 января 2020

Попробуйте код ниже

NSMutableArray<TCHChannel *> *temp = [[NSMutableArray alloc] initWithArray:[newChannels array]];
NSLog(@"channelList = %@",temp);

NSPredicate *Pred = [NSPredicate predicateWithFormat:
                          @"friendlyName == 'yourMatchString'"];
NSArray *arr = [temp filteredArrayUsingPredicate:pred];
1 голос
/ 17 января 2020

Попробуйте:

NSPredicate *Pred = [NSPredicate predicateWithFormat:
                          @"TCHChannel.friendlyName == 'yourstring'"];
NSArray *arr = [temp filteredArrayUsingPredicate:pred];
...