我正在收到来自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'