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

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

弱引用和無引用引用之間有什么區(qū)別?

弱引用和無引用引用之間有什么區(qū)別?

白板的微信 2019-08-29 16:34:10
弱引用和無引用引用之間有什么區(qū)別?斯威夫特有:強(qiáng)引用弱參考無主參考文獻(xiàn)無主參考如何與弱參考不同?什么時(shí)候使用無主參考安全?無主引用是否存在安全風(fēng)險(xiǎn),如C / C ++中的懸空指針?
查看完整描述

2 回答

?
慕哥9229398

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

Q1。“無主參考”與“弱參考”有何不同?

弱參考:

弱引用是一種引用,它不會(huì)強(qiáng)制保留它引用的實(shí)例,因此不會(huì)阻止ARC處理引用的實(shí)例。因?yàn)槿跻帽辉试S具有“無值”,所以必須將每個(gè)弱引用聲明為具有可選類型。(Apple Docs)

無主參考:

與弱引用一樣,無主引用并不會(huì)強(qiáng)烈保留它所引用的實(shí)例。然而,與弱引用不同,假定無主引用始終具有值。因此,無主引用始終定義為非可選類型。(Apple Docs)

何時(shí)使用每個(gè):

只要對(duì)該引用有效,就使用弱引用在其生命周期的某個(gè)時(shí)刻變?yōu)閚il。相反,當(dāng)您知道在初始化期間設(shè)置引用后永遠(yuǎn)不會(huì)為nil時(shí),請(qǐng)使用無主引用。(Apple Docs)


Q2。什么時(shí)候使用“無主參考”是安全的?

如上所述,假定無主參考始終具有值。因此,只有在確定引用永遠(yuǎn)不會(huì)為零時(shí)才應(yīng)使用它。Apple Docs通過以下示例說明了無主引用的用例。

假設(shè)我們有兩個(gè)類CustomerCreditCard??蛻艨梢栽跊]有信用卡的情況下存在,但沒有客戶就不會(huì)存在信用卡,即可以假設(shè)信用卡將始終擁有客戶。所以,他們應(yīng)該有以下關(guān)系:

class Customer {
    var card: CreditCard?}class CreditCard {
    unowned let customer: Customer}

Q3?!盁o主參考”是否引用了C / C ++中的“懸空指針”等安全風(fēng)險(xiǎn)

我不這么認(rèn)為。

由于無主引用只是保證具有值的弱引用,因此它不應(yīng)該以任何方式存在安全風(fēng)險(xiǎn)。但是,如果您嘗試在其引用的實(shí)例被取消分配后訪問無主引用,則會(huì)觸發(fā)運(yùn)行時(shí)錯(cuò)誤,應(yīng)用程序?qū)⒈罎ⅰ?/p>

這是我看到的唯一風(fēng)險(xiǎn)。

鏈接到Apple Docs


查看完整回答
反對(duì) 回復(fù) 2019-08-29
  • 2 回答
  • 0 關(guān)注
  • 803 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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