2013-04-29 93 views
1

我想知道哪個更好的方法:例如,要創建一個新的uiviewcontroller,如果在視圖中我必須加載搜索視圖來搜索Web服務器上的新元素,或加載顯示結果的視圖一個請求,哪個更好?每次創建一個新的uiviewcontroller或重新使用相同?

此:

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]; 
} 

回答

4

我總是根據需要創建每個視圖控制器。我唯一保留一個視圖控制器的時間是,在做了一些適當的性能測試後,我發現保持一個特定的視圖控制器對用戶和性能來說都更好。當然,你必須處理內存警告,以正確清理任何緩存的視圖控制器。

不要擔心性能優化太早。等到你通過真正的測試發現你確實有一個問題需要擔心。

1

第一個。 iOS設備資源受限,所以如果沒有令人信服的理由,您應該儘可能重複使用。

+0

如果您擔心資源,那麼第一個選項不是一個好的選擇。不使用時,最終將視圖控制器保留在內存中。 – rmaddy 2013-04-29 22:38:36

+1

但有一點需要注意的是,您不應該爲每個視圖控制器創建控制器屬性,只是爲了讓您不必重新實例化它。 **如果**,並且只有當您已經將該視圖控制器存儲到屬性中時,那麼確定,繼續並重新使用它。否則,不要爲此煩惱,只是每次實例化它。 – iwasrobbed 2013-04-29 22:40:00

相關問題