uitableviewcell异常错误:' - [__ NSArrayI isEqualToString:]:无法识别的选择器发送到实例0x7c15b730'

时间:2016-06-23 10:07:25

标签: ios objective-c

我正在收到来自signalR服务器的聊天消息。现在我想在tableview中显示聊天消息。所以我写的是这样的...我的回答就像这个“”"(\ n \"(alex" Hi)“).. “alex”是用户名,“hi”是文本消息。我想在tableview中显示这两个项目。但我的回答是有特殊的字符。所以我正在写这样的代码。

if things.contains(where: { $0.someProperty == "nameToMatch" }) {
     // found
} else {
     // not
}

但是这行代码却异常......

-(void)messagesReceived:(id)data
{
    if(data)   
    {
        NSArray *arrCount;
        NSArray *arr=(NSArray *)data;
        arrCount=[NSArray arrayWithObjects:arr, nil];
        NSString *str1=[arrCount description];
        NSArray* strArray = [str1 componentsSeparatedByString: @","];
        NSString* userName = [strArray objectAtIndex:0];
        NSLog(@"user Name  is :%@",userName);
        NSArray *arrName=[userName componentsSeparatedByString:@""];
        NSLog(@"arr is:%@",arrName);
        NSString *messageText=[strArray objectAtIndex:1];
        NSLog(@"message array is:%@",messageText);
        messageText=[messageText stringByReplacingOccurrencesOfString:@")\"\n)" withString:@""];
        messageText=[messageText stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
        NSArray *arr1=[messageText componentsSeparatedByString:@""];
        NSLog(@"array value is:%@",arr1);
        itemsDataArr=[NSMutableArray arrayWithObjects:arr1, nil];
        NSLog(@"Items array is:%@",itemsDataArr); 
        [_ChattblView reloadData];
    }
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    return 1;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    return [itemsDataArr count];
}

-(UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{

    static NSString *CellIdentifier = @"cellIdentifier";
    UITableViewCell *cell = [_ChattblView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier];    
     }
     cell.selectionStyle=UITableViewCellSelectionStyleNone;
     if (itemsDataArr.count>0) {
          cell.textLabel.text=[itemsDataArr objectAtIndex:indexPath.row];
      }
      return cell;
  }

例外是这样的

  

- [__ NSArrayI isEqualToString:]:无法识别的选择器发送到实例0x7c15b730“

     

由于未捕获的异常终止应用程序' NSInvalidArgumentException',原因:' - [__ NSArrayI isEqualToString:]:无法识别的选择器发送到实例0x7c15b730'

0 个答案:

没有答案