簡體   English   中英

將視圖聲明為屬性v。臨時創建

[英]Declaring a View as a property v. Temporary Creation

我最近開始完全以編程方式(沒有界面生成器)創建iOS應用程序,並且想知道在使用ViewController的視圖之前將其聲明為屬性,而不是簡單地在loadview函數中進行創建是否有任何優勢/差異。 另外,如果我將視圖用作屬性,是否可以在控制器的dealloc中取消分配視圖?

即這個

- (void)loadView
{
    _rootView = [[RootView alloc] initWithFrame:CGRectZero];
    [self setView:self.rootView];
}

- (void)loadView
{
    RootView *rootView = [[RootView alloc] initWithFrame:CGRectZero];
    [self setView:rootView];
    [rootView release];
}

view已經 UIViewController的屬性。 在您的示例中聲明一個額外的屬性(例如rootView將毫無意義。 因此,您的第二個例子就是要走的路。 (我不確定為什么要創建寬度和高度為零的視圖,但這是另一回事了。)

在這種情況下,您dealloc實現(如果你提供一個)應該調用[super dealloc]以確保view屬性發送一個release消息,當然你應該始終調用[super dealloc]在任何重寫實現dealloc

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM