後表視圖數字串數字進行排序我有增加了一個按鈕,按下行的表視圖。行按每行的升序從字符串itmeNo
開始編號。我的問題是當用戶刪除一行時,數字不再按順序排列。如何行刪除
即1,2,3,4,5,
如果用戶刪除他們的編號
1,2,5
林停留在如何將數字排序位排3-和4 ?在那裏我有[self.observations count] + 1];
我可以改變這也許這樣itemNo
總是各種各樣的上升數字
總之我總是希望我的表視圖中的行數字符串始終按順序編號
遙不可及了一點,但到目前爲止,香港專業教育學院試圖[self.tableView reloadData];
在刪除方法以及允許重新排序表視圖的方法。
- (void)addObservationButtonPressed:(id)sender
{
LogCmd();
Observation *observation = [[ICObservationManager manager] newObservation];
observation.createdAt = [NSDate date];
observation.modifiedAt = [NSDate date];
observation.certificate = self.certificate;
observation.itemNo = [NSString stringWithFormat:@"%d", [self.observations count] + 1];
[self.certificate addObservationsObject:observation];
[self loadData];
[self.tableView reloadData];
[self.tableView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:self.observations.count-1 inSection:0] atScrollPosition:UITableViewScrollPositionBottom animated:YES];
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return [self.certificate.observations count];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *cellIdentifier = @"ObservationsCellIdentifier";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier];
}
Observation *observation = [self.observations objectAtIndex:indexPath.row];
NSString *itemLabel = [NSString stringWithFormat:@"%@. %@",
observation.itemNo,
(observation.item.length ? observation.item : @"No description")];
cell.textLabel.text = itemLabel;
return cell;
}
//Delete observations
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
if (editingStyle == UITableViewCellEditingStyleDelete) {
[self.managedObjectContext deleteObject:[self.observations objectAtIndex:indexPath.row]];
[self.appDelegate saveContext];
[self.observations removeObjectAtIndex:indexPath.row];
[tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade];
}
}
你應該回顧你的最後一個數組的objectAtIndex值的id,然後加1然後存儲新的.. –
感謝您的快速回復,你可以擴大一點,因爲不太確定我明白 – JSA986
我已粘貼代碼低於 –