簡體   English   中英

我是否需要為IBOutlet *屬性聲明私有變量?

[英]Do I need to declare a private variable for an IBOutlet* property?

假設我有一個帶有一個UITableView屬性的簡單視圖控制器:

@interface MyViewController : UIViewController {
    UITableView *tv;  // <-- DO I NEED THIS??
}
@property (nonatomic, retain) IBOutlet UITableView *tv;
@end

我真的需要聲明UITableView * tv嗎? 我發現即使不聲明它(也只是簡單地@synthesize屬性),一切都可以正常工作。 但是,許多代碼示例都明確聲明了該變量。 我不確定聲明它的好處(或不聲明它的危害)的好處。

不,您不必聲明它,synthesize將負責在編譯時動態注入代碼。 另一方面,如果不聲明變量,您將無法直接在Xcode中檢查變量,這是不利的一面。

在Objective-C 2.0中,編譯器將為您以及訪問者綜合存儲。 以前不是這種情況,因此人們都在其中明確聲明了ivar的所有示例。

暫無
暫無

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

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