我正在使用SASlideMenu库在我的 iOS ARC 故事板应用程序中实现左滑动菜单。我添加了三个用[self performSegueWithIdentifier:@"segueID" sender:self];
代码调用的视图控制器,滑动菜单工作正常,但每次它创建视图控制器的新实例时,我需要缓存每个控制器内容(例如,在视图控制器 1 中,我们有一个文本字段: 如果我写一个词,换VC后我必须再次找到相同的词!)。这是通用的故事板:
这是我的 UITableView 委托,在 SASlideMenuViewController 中:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Cell"];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:
UITableViewCellStyleSubtitle reuseIdentifier:@"Cell"];
}
if (indexPath.row == 0) {
cell.textLabel.text = @"ViewController 1";
}
if (indexPath.row == 1) {
cell.textLabel.text = @"ViewController 2";
}
if (indexPath.row == 2) {
cell.textLabel.text = @"ViewController 3";
}
cell.textLabel.font = [UIFont systemFontOfSize:14];
cell.textLabel.textColor = [UIColor blackColor];
cell.imageView.image = [UIImage imageNamed:@"image.png"];
return cell;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
if(indexPath.row==0)
{
[self performSegueWithIdentifier:@"segueID1" sender:self]; // I NEED TO RETRIEVE SAME VIEW CONTROLLER 1 CONTENT AFTER ANOTHER VIEW CONTROLLER CALL!
}
if(indexPath.row==1)
{
//[self performSegueWithIdentifier:@"segueID2" sender:nil]; // I NEED TO RETRIEVE SAME VIEW CONTROLLER 2 CONTENT AFTER ANOTHER VIEW CONTROLLER CALL!
}
if(indexPath.row==2)
{
//[self performSegueWithIdentifier:@"segueID3" sender:nil]; // I NEED TO RETRIEVE SAME VIEW CONTROLLER 3 CONTENT AFTER ANOTHER VIEW CONTROLLER CALL!
}
[tableView deselectRowAtIndexPath:indexPath animated:YES];
}
这是应用程序中幻灯片菜单的屏幕截图:
在作者教程中,我可以阅读:“如果您使用动态单元格原型或使用静态单元格并且您想要缓存内容视图控制器,请分配一个标识符,该标识符将在segueIdForIndexPath:链接到所需 indexPath 的方法中返回”但我正在失去理智,我无法得到准确的观点..你能提供准确的代码来解决这个问题吗?还有一些东西要补充,但在哪里?我需要重现这种情况:每次我从左侧菜单中调用视图控制器时,我都必须检索它,就像我在另一个之前的 VC 调用之前离开时一样。谢谢!