【问题标题】:How to check my NSString is exist in my NSMutableOrderedSet?如何检查我的 NSString 是否存在于我的 NSMutableOrderedSet 中?
【发布时间】:2020-01-17 11:45:37
【问题描述】:

我收到来自第三方 SDK 的响应,现在如何检查我的字符串值是否存在于响应中?以及我需要与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);

提前致谢。

【问题讨论】:

  • 请查看我的回答,如果它解决了您的问题,请将其标记为已批准,以便对遇到相同问题的其他人有所帮助。

标签: ios objective-c nsmutablearray twilio-programmable-chat nsmutableorderedset


【解决方案1】:

试试这个:

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

【讨论】:

  • 崩溃了reason: '[&lt;TCHChannel 0x280aa7f80&gt; valueForUndefinedKey:]: this class is not key value coding-compliant for the key TCHChannel.'
【解决方案2】:

试试下面的代码

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

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

【讨论】:

    猜你喜欢
    • 2011-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-16
    • 2011-06-09
    • 1970-01-01
    相关资源
    最近更新 更多