我正在使用tableviewcontroller和viewcontroller与pickerview,当我点击tablevc中的行时,相同的细节viewcontroller正在打开

时间:2014-07-20 12:29:24

标签: ios objective-c ios5 uiviewcontroller

当我将一行导航到具有选择器view.it正在导航的viewcontroller时,我正在添加部分。当我返回tableviewcontroller并单击另一行时,它正在导航,但该部分显示我在第一行中添加的部分。我不想在部分行中的那些部分。请你建议我必须改变以纠正这个问题。

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    return 1;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
   // Return the number of rows in the section.
  return self.semesteryear.count;
}


- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
   static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
    Semester * semester=self.semesteryear[indexPath.row];
   cell.textLabel.text=[NSString stringWithFormat:@"%@, %@",semester.semesterName,semester.semesterYear];

  return cell;
}

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
   if([[segue identifier] isEqualToString:@"newsemester"]){
      semesterselectionVC * newsem=[segue destinationViewController];
     newsem.tableViewController=self;
   }
   else
   {
        int selectedrow =[self.tableView indexPathForSelectedRow].row;
        EditSectionVC* editsectionvc=[segue destinationViewController];
        editsectionvc.semester=self.semesteryear[selectedrow]; 
        editsectionvc.semester=self.semesteryear[[self.tableView indexPathForSelectedRow].row];
        editsectionvc.navigationItem.title=[NSString stringWithFormat:@"%@, %@",editsectionvc.semester.semesterName,editsectionvc.semester.semesterYear];
    }
}

1 个答案:

答案 0 :(得分:0)

我认为每次导航并返回时,数据都会保存在数组semesteryear中。当您返回此屏幕时,从数组中删除内容。有一种方法是在添加之前删除旧内容来自semesteryear [self.semesteryear removeAllObjects]的新内容以及要添加新内容的新内容。