Note that there are some explanatory texts on larger screens.

plurals
  1. PONSMutable Array data source for UITableview cell
    text
    copied!<pre><code>NSString *myMessage=messageField.text; [messageArray addObject:myMessage]]; messageContentArray=[[NSMutableArray alloc] initWithArray:messageArray]; [_tableView reloadData]; </code></pre> <p>I have a UITableview and I used a NSMutable array of string as datasource then it works fine. But now I want to add another string in this array on click of a button as above but as soon as I touch the button then application crash and give </p> <blockquote> <p>'NSInvalidArgumentException', reason: '-[NSCFString count]: unrecognized selector sent to instance 0x4e11cf0'</p> </blockquote> <p>How I can do this my table view is as bellow please help me</p> <pre><code>- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ return [messageContentArray count]; } #pragma mark - #pragma mark UITableView Delegaates static CGFloat padding = 20.0; - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ static NSString *CellIdentifier = @"messagesCellIdentifier"; SMMessageViewTableCell *cell = (SMMessageViewTableCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier]; if (cell == nil) { cell = [[[SMMessageViewTableCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease]; } NSString *usrid=[useridArray objectAtIndex:indexPath.row]; NSData *imgData1 = (NSData*)[[NSUserDefaults standardUserDefaults] objectForKey:@"lisnerImage"]; UIImage *img1 = [UIImage imageWithData: imgData1]; // CGRect imageFrame=CGRectMake(5,20,25,30); //CGRect imageFrame1=CGRectMake(250,20,25,30); //self.cellimage=[[[UIImageView alloc] initWithFrame:imageFrame] autorelease]; // self.cellimage1=[[[UIImageView alloc] initWithFrame:imageFrame1] autorelease]; if ([usrid caseInsensitiveCompare:friend_Id] == NSOrderedSame) { [cell.usrImage setFrame:CGRectMake(250, 20, 25, 30)]; cell.usrImage.image = userImage.image; // self.cellimage1.image=userImage.image; // [cell.contentView addSubview:self.cellimage1]; NSString *messages1 = [messageContentArray objectAtIndex:indexPath.row]; CGSize textSize = { 260.0, 10000.0 }; CGSize size = [messages1 sizeWithFont:[UIFont systemFontOfSize:13] constrainedToSize:textSize lineBreakMode:UILineBreakModeWordWrap]; size.width += (padding/2); cell.messageContentView.text = messages1; cell.accessoryType = UITableViewCellAccessoryNone; cell.userInteractionEnabled = NO; UIImage *bgImage = nil; bgImage = [[UIImage imageNamed:@"aqua.png"] stretchableImageWithLeftCapWidth:24 topCapHeight:15]; [cell.messageContentView setFrame:CGRectMake(45 , 20, 190, size.height)]; [cell.bgImageView setFrame:CGRectMake(45, 17, 190, size.height+padding)]; cell.bgImageView.image = bgImage; }else { //self.cellimage.image=img1; // [cell.contentView addSubview:self.cellimage]; [cell.usrImage setFrame:CGRectMake(5, 20, 25, 30)]; cell.usrImage.image = img1; NSString *messages1 = [messageContentArray objectAtIndex:indexPath.row]; CGSize textSize = { 260.0, 10000.0 }; CGSize size = [messages1 sizeWithFont:[UIFont systemFontOfSize:13] constrainedToSize:textSize lineBreakMode:UILineBreakModeWordWrap]; size.width += (padding/2); cell.messageContentView.text = messages1; cell.accessoryType = UITableViewCellAccessoryNone; cell.userInteractionEnabled = NO; UIImage *bgImage = nil; bgImage = [[UIImage imageNamed:@"orange.png"] stretchableImageWithLeftCapWidth:24 topCapHeight:15]; [cell.messageContentView setFrame:CGRectMake(45, 20, 190, size.height)]; [cell.bgImageView setFrame:CGRectMake( 45, 17, 190, size.height+padding)]; cell.bgImageView.image = bgImage; } return cell; } - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { } -(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{ // return 65; NSString *text = [messageContentArray objectAtIndex:[indexPath row]]; CGSize constraint = CGSizeMake(CELL_CONTENT_WIDTH - (CELL_CONTENT_MARGIN * 2), 20000.0f); CGSize size = [text sizeWithFont:[UIFont systemFontOfSize:FONT_SIZE] constrainedToSize:constraint lineBreakMode:UILineBreakModeWordWrap]; CGFloat height = MAX(size.height+20, 44.0f); return height + (CELL_CONTENT_MARGIN * 2); } </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload