每次创建一个新的uiviewcontroller或重用相同的?

时间:2013-04-29 22:19:44

标签: ios objective-c uiviewcontroller

我想知道哪种方法更好:要么创建一个新的uiviewcontroller,例如,如果在视图中我必须加载搜索视图来搜索Web服务器上的新元素,或者加载显示结果的视图来自请求,哪种方式更好?

此:

MasterViewController.h

@property (nonatomic, strong) PreviewViewController *reviewViewController;

MasterViewController.m

-(void)openPreviewView
{
if (!self.previewViewController) {
    self.previewViewController = [[PreviewViewController alloc] init];
}

[self.navigationController pushViewController:self.previewViewController animated:YES];
}

或者这个:

MasterViewController.m

-(void)openPreviewView
{
PreviewViewController *previewView = [[PreviewViewController alloc] init];

[self.navigationController pushViewController:previewView animated:YES];
}

2 个答案:

答案 0 :(得分:4)

我总是根据需要创建每个视图控制器。我保留视图控制器的唯一一次是,在做了一些适当的性能测试后,我发现保持特定的视图控制器对用户和性能更好。当然,您必须处理内存警告才能正确清理任何缓存的视图控制器。

不要过早担心性能优化。等到你通过真实测试发现实际上有问题需要担心。

答案 1 :(得分:1)

第一个。 iOS设备受资源限制,因此在没有令人信服的理由的情况下,如果可以的话,应该始终重复使用。