我相信ARC會照顧所有內存管理問題,是否有使用保留的原因。現在有沒有理由使用分配?現在有ARC是否需要使用保留
我試圖通過一些文件看,但如果我們不需要這個東西了,那應該我們分配的屬性,當我們創建它們無法找到任何
?我們應該讓一切變得強大嗎
我相信ARC會照顧所有內存管理問題,是否有使用保留的原因。現在有沒有理由使用分配?現在有ARC是否需要使用保留
我試圖通過一些文件看,但如果我們不需要這個東西了,那應該我們分配的屬性,當我們創建它們無法找到任何
?我們應該讓一切變得強大嗎
如果您使用ARC,您應該使您的屬性爲weak
或strong
。如果只要某個其他對象指向該屬性,則應該使用weak
,如果只要您(自我)指向該屬性,就應該使用strong
。例如,當您的對象有一個指向故事板或xib中的UIView的指針(由控件單擊和拖動到您的界面創建)時,它將是一個弱指針,因爲您期望UIView僅存在只要故事板或xib允許它存在。更清楚的是,故事板或xib擁有該對象。
在使用ARC retain
相同strong
好,因爲它沒有讓我給予好評我上面的答案。我會以同樣的方式迴應。由於您現在必須在設置屬性列表時使用弧,因此弱標籤和強標籤將取代保留特徵。我通常會在單個視圖應用程序中將所有內容都設置爲強大,然後當我使用多視圖或我使用的表格式應用程序時使用弱視。
確定這很有趣..所以你爲什麼這麼做?我的意思是,當你去多視圖或桌面時,爲什麼你必須轉換爲弱? – rserefgx
,因爲weak用於更臨時的對象。所以由於表格視圖或多視圖,我們可以說由於用戶使用而會有更多的臨時指針。 – clarkatron
是的,在許多情況下,您想要覆蓋默認的ARC行爲。
Eg: @property(nonatomic,retain)NSString *response; -(void)parseHTTRResponse { //responseString is an autoreleased object but assignment will increase retain count by 1 self.response =[self stringFromData:response.data]; // equivalent to first statement __strong NSString *responseString = [self stringFromData:response.data]; }
現在問題是爲什麼有人會這樣做?
要提高局部變量自動釋放壽命這需要很長一段時間(一般NSURLConnection的對象)
是您的問題有關保留/ *中分配屬性*? –
不,基於我所知道的..我認爲ARC可能會取代所有這些東西..我希望如此..我會等待,看看這裏的人們如何迴應 – rserefgx
如果你使用ARC,我認爲編譯器拒絕讓你使用保留。 – mah