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

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

為什么使用弱指針進(jìn)行委派?

為什么使用弱指針進(jìn)行委派?

Qyouu 2019-10-17 10:18:52
我不明白為什么用弱指針定義委托是正確的:@property (nonatomic,weak) id delegate;我不明白為什么沒有必要保留對委托的引用...我不希望釋放用作委托的對象...因此,我寧愿使用強(qiáng)引用而不是弱!在許多情況下,委托是將要?jiǎng)?chuàng)建類實(shí)例的對象,在這種情況下,創(chuàng)建弱引用將是避免保留周期的好方法...但是如果我選擇完全不同的對象作為委托,該怎么辦? ?我搜索了有關(guān)堆棧溢出的其他問題,但找不到任何可以幫助我完全理解這種情況的問題。
查看完整描述

3 回答

?
慕村9548890

TA貢獻(xiàn)1884條經(jīng)驗(yàn) 獲得超4個(gè)贊

對象弱保留其委托的原因是為了避免保留周期。想象一下以下情形:對象a創(chuàng)建b并保留它,然后將其自身設(shè)置為 b的委托。a由其所有者釋放,留下包含a和的保留周期b。這實(shí)際上是非常普遍的情況??紤]一個(gè)擁有一個(gè)視圖并充當(dāng)該視圖的委托的視圖控制器。在這種情況下,視圖不應(yīng)保留控制器-作為適當(dāng)?shù)腗VC體系結(jié)構(gòu)的主旨并防止保留周期。


查看完整回答
反對 回復(fù) 2019-10-17
?
米琪卡哇伊

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

這是為了避免保留周期。Apple提供了有關(guān)高級內(nèi)存管理的信息性指南,說明了這種情況以及如何最好地對其進(jìn)行處理。在ARC中,它們現(xiàn)在稱為強(qiáng)參考周期,在《過渡到ARC發(fā)行說明》中對此進(jìn)行了說明。


以前,您需要像這樣為委托定義屬性,


@property (nonatomic, assign) id delegate;

但是在ARC中,您可以這樣定義它,


@property (nonatomic, unsafe_unretained) id delegate;

或者,例如,如果您有一個(gè)名為的協(xié)議<MyObjectDelegate>,則還可以通過這種方式定義委托,


@property (nonatomic, weak) id <MyObjectDelegate> delegate;

換句話說,在ARC中,如果您有協(xié)議,則可以聲明一個(gè)委托weak。否則,unsafe_unretained。


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

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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