如何在Tabbed应用程序中保持一个类活着

时间:2013-07-13 18:10:20

标签: objective-c uiview

我目前有一个这样的应用程序,它有抽屉界面但是当我进入另一个视图时,所有内容都会在当前视图中重置并且永远不会保持不变?

这是我切换视图时代码的样子。

           [self.slidingViewController anchorTopViewOffScreenTo:ECRight animations:nil onComplete:^{
            CGRect frame = self.slidingViewController.topViewController.view.frame;
            self.slidingViewController.topViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"homeChannel"];
            self.slidingViewController.topViewController.view.frame = frame;
            [self.slidingViewController resetTopView];
            [tableView deselectRowAtIndexPath:indexPath animated:YES]; }];

所以我的问题是“如果进入另一个视图,例如tabbed apps”,我将如何保持视图活着

比如我的tableView,当我转到另一个视图并返回原来的视图时,它会重置。

My image

1 个答案:

答案 0 :(得分:0)

创建一个NSMutableArray,它将保留指向您的视图的指针。离开时保存视图,在需要时获取视图。谨防!这将消耗大量内存,但这就是你要求的内容。

- (void)initArray
{
    myViews = [[NSMutableArray alloc] init];
    for (int i=0; i<NUMBER_OF_VIEWS; i++)
    {
        [myViews addObject:[NSNull null]];
    }
}

- (void)saveView:(UIView*)view atIndex:(int)index
{
    myViews[index] = view;
}

- (UIView*)fetchViewAtIndex:(int)index
{
    UIView *view = myViews[index];
    if (view == [NSNull null])
        return nil;
    return view;
}