如何在没有应用程序崩溃的情况下从ios中的NSMutableArray中删除最后一个对象

时间:2015-11-18 05:40:11

标签: objective-c iphone nsmutablearray

这是我的代码

 (void)viewDidLoad

{
    descriptionArray = [[NSMutableArray alloc] initWithObjects:@"I'm not perfect,imake mistakes,i hurt people. But when i say sorry,i really mean it.",
                                                               @"Single",
                                                               @"jon@live.com",
                                                               @"+91 9731244748",
                                                               @"jon.Korta",
                                                               @" 05 Common Friends",
                                                               @"Facebook", nil];

}

在UITableView数据源方法

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

{
 static NSString *cellidentifier = @"CellID";

    CustomCell *cell = (CustomCell *)[tableView dequeueReusableCellWithIdentifier:cellidentifier];

    if (cell == nil)

    {
        NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"CustomCell" owner:self options:nil];
        cell = [nib objectAtIndex:0];

     cell.descriptionLbl.text = [descriptionArray objectAtIndex:indexPath.row];

}

return cell;
}

CustomCell.h

@property (strong, nonatomic) IBOutlet UILabel *descriptionLbl;

我使用CustomCell在UITableView单元格中显示descriptionArray对象。从descriptionArray我想删除UITableView单元格中的“Facebook”对象。 任何人都可以指导我。谢谢你提前

3 个答案:

答案 0 :(得分:2)

如果你真的想从数组中删除最后一个对象,请执行以下任何操作

[descriptionArray removeObjectAtIndex:descriptionArray.count-1];

[descriptionArray removeLastObject];

并确保单元格的数量应为descriptionArray.count-1

答案 1 :(得分:1)

您可以使用[descriptionArray removeLastObject];删除最后一个对象。
删除最后一个元素后,需要重新加载表格视图。别忘了重新加载表格视图。

答案 2 :(得分:0)

由于您使用descriptionArray作为cellForRow方法的数据源,因此您需要确保numberOfRow也返回您的数组计数。因此,当您删除数组中的最后一个对象并调用表重新加载数据时,它不会崩溃。