第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在ARC下IBOutlet是強(qiáng)還是弱?

在ARC下IBOutlet是強(qiáng)還是弱?

iOS
眼眸繁星 2019-06-18 13:29:51
在ARC下IBOutlet是強(qiáng)還是弱?我是專為iOS 5開發(fā)使用ARC。應(yīng)IBOutletS到UIViewS(及子類)為strong或weak?以下內(nèi)容如下:@property (nonatomic, weak) IBOutlet UIButton *button;就能擺脫這一切:- (void)viewDidUnload{     // ...     self.button = nil;     // ...}這樣做有什么問題嗎?模板正在使用strong與從“InterfaceBuilder”編輯器直接連接到標(biāo)頭時自動生成的屬性一樣,但為什么?這個UIViewController已經(jīng)有一個strong提及其view保留它的子視圖。
查看完整描述

3 回答

?
慕勒3428872

TA貢獻(xiàn)1848條經(jīng)驗 獲得超6個贊

摘要開發(fā)者庫:

從實際角度來看,在IOS和OSX中,應(yīng)將出口定義為已聲明的屬性。插座通常應(yīng)該是弱的,除了那些從文件的所有者到頂級對象在一個nib文件(或者,在IOS中,一個故事板場景),應(yīng)該是強(qiáng)大的。因此,默認(rèn)情況下,您創(chuàng)建的出口通常是弱的,因為:

  • 例如,您創(chuàng)建的到視圖控制器視圖或窗口控制器窗口的子視圖的出口,是不暗示所有權(quán)的對象之間的任意引用。

  • 強(qiáng)出口通常由框架類指定(例如,UIViewController的視圖出口或NSWindowController的窗口出口)。

    @property (weak) IBOutlet MyView *viewContainerSubview;@property (strong) IBOutlet MyOtherClass *topLevelObject;


查看完整回答
反對 回復(fù) 2019-06-18
?
慕婉清6462132

TA貢獻(xiàn)1804條經(jīng)驗 獲得超2個贊

而文檔建議使用weak關(guān)于子視圖的屬性,因為IOS 6似乎可以使用strong(默認(rèn)的所有權(quán)限定符)。這是由UIViewController視圖不再卸載。

  • 在iOS 6之前,如果您保持到控制器視圖的子視圖的強(qiáng)鏈接,如果視圖控制器的主視圖被卸載,那么只要視圖控制器在附近,這些視圖就會保持子視圖。
  • 從iOS 6開始,視圖不再被卸載,而是加載了一次,然后只要它們的控制器在那里,就會繼續(xù)運行。所以強(qiáng)大的屬性就不重要了。它們也不會創(chuàng)建強(qiáng)引用周期,因為它們指向強(qiáng)引用圖。

話雖如此,我在使用

@property (nonatomic, weak) IBOutlet UIButton *button;

@property (nonatomic) IBOutlet UIButton *button;

在IOS 6及以后:

  • 使用weak清楚地說明控制器不想擁有按鈕的所有權(quán)。

  • 但忽略了weak在iOS 6中,在沒有視圖卸載的情況下不會受到傷害,而且更短。有些人可能會指出,這也是更快,但我還沒有遇到一個應(yīng)用程序太慢,因為weak IBOutletS.

  • 不使用weak可能被視為錯誤。

底線:從iOS 6開始,只要我們不使用視圖卸載,我們就不會再犯這個錯誤了。該開派對了。;)


查看完整回答
反對 回復(fù) 2019-06-18
  • 3 回答
  • 0 關(guān)注
  • 488 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號