2013-02-26 98 views
1

**ħ添加/编辑/移动自定义TableViewCell? 。

IBOutlet UITableView *Table; 
NSMutableArray *Currency; 
NSArray *Datacell; 

**创建自定义阵列

Custom *usd = [Custom new]; 
usd.name = @"USD"; 
usd.detail = @"United States Dollar"; 
usd.imageFile = @"usd.jpg"; 


Custom *eur = [Custom new]; 
eur.name = @"EUR"; 
eur.detail = @"Euro Member Countries"; 
eur.imageFile = @"eur.jpg"; 

Custom *aud = [Custom new]; 
aud.name = @"AUD"; 
aud.detail = @"Australia Dollar"; 
aud.imageFile = @"AUD.jpg"; 
Currency = [NSArray arrayWithObjects:usd,eur,aud, nil]; 

重写以支持编辑表视图**

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
if (editingStyle == UITableViewCellEditingStyleDelete) { 
// Delete the row from the data source 

    [Currency removeObjectAtIndex:indexPath.row]; 
    [Table reloadData]; 
[tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationFade]; 
} 
else if (editingStyle == UITableViewCellEditingStyleInsert) { 
// Create a new instance of the appropriate class, insert it into the array, and add a new row to the table view 
} 
} 

崩溃:

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSArrayI removeObjectAtIndex:]: unrecognized selector sent to instance 0x682a0c0' 

回答

0

显然数组货币没有[Currency removeObjectAtIndex:indexPath.row]指向的元素;

您已将货币定义为NSMutableArray并使用Currency = [NSArray arrayWithObjects:usd,eur,aud,nil]进行了处理。

使它[NSMutableArray arrayWithObjects:usd,eur,aud,nil];

0

您初始化Currency对象作为NSArray

更换

Currency = [NSArray arrayWithObjects:usd,eur,aud, nil];

Currency = [NSMutableArray arrayWithCapacity:3]; 
[Currency addObject:usd]; 
[Currency addObject:eur]; 
[Currency addObject:aud]; 
相关问题