我在我的ViewController定義的屬性如下如果我沒有在viewDidUnload方法中設置property = nil,那意味着什麼?
@interface QuestionAnswerViewController : UIViewController
{
Question *question;
}
@property (nonatomic, retain) Question *question;
和我合成的財產在我的.m文件
@synthesize question;
會不會有什麼問題,如果我不設置「自我。問題= nil'在我的viewDidUnload方法?
- (void)viewDidUnload
{
[super viewDidUnload];
//Any issues if I don't set this?
self.question = nil
}
我問這是因爲'question property'實際上是從另一個視圖控制器傳入的。我意識到在低內存的情況下,我的視圖控制器的視圖將自動卸載,所以如果我設置self.question = nil,我將失去當前頁面上的信息(self.question變爲零)。只是想確認沒有將合成屬性設置爲零的影響,以及是否有其他方法來防止這種情況發生。
嗨,感謝您的回答。所以在我的情況下,因爲self.question沒有在viewDidload方法中設置,我不應該在viewdidunload方法中將其設置爲零。但是,這個屬性的保留數呢?我怎樣才能釋放它? – Zhen
相反,因爲它不是IBOutlet,所以完全取決於您,似乎您不希望將其設置爲零並將其鬆開。該對象應該在'dealloc'中釋放:'[釋放問題];'。 – zaph
哦,那麼這意味着如果該屬性不是IOBOutlet,實際上並不需要將它設置爲無視圖卸載?只要在dealloc中釋放它就足夠了(就內存管理而言) – Zhen