不透明類型

why

  • 想畫一個(gè)不規(guī)則四邊形,代碼是可以編譯通過的,但是返回類型又臭又長,被暴露了出去。
  • 不能將 Container 用作函數(shù)的返回類型,因?yàn)樵搮f(xié)議具有關(guān)聯(lián)類型。也不能將它用作返回類型的泛型約束,因?yàn)楹瘮?shù)體外沒有足夠的信息來推斷泛型類型需要什么。

解決問題

返回不透明類型 VS 返回協(xié)議類型

  • 返回 opaque 類型看起來非常類似于使用協(xié)議類型作為函數(shù)的返回類型,但這兩種返回類型的不同之處在于他們是否保留了類型標(biāo)識。opaque 是指一種特定類型,盡管函數(shù)的調(diào)用者不能看到是哪種類型;協(xié)議類型可以指代符合協(xié)議的任何類型。一般來說,協(xié)議類型為存儲的值的基礎(chǔ)類型提供了更大的靈活性,而不透明類型可以對這些基礎(chǔ)類型做出更強(qiáng)有力的保證。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 案例代碼下載 不透明的類型 函數(shù)或方法返回的不透明類型會隱藏其返回值的類型信息。不是提供具體類型作為函數(shù)的返回類型...
    酒茶白開水閱讀 1,469評論 0 1
  • 不透明類型(Opaque Type)(學(xué)習(xí)筆記) 環(huán)境Xcode 11.0 beta4 swift 5.1 不透明...
    蕭1帥閱讀 571評論 0 1
  • 這是 Swfit 5.0.1新增的特性 具有不透明返回類型的函數(shù)或方法隱藏其返回值的類型信息。返回值不是作為函數(shù)的...
    微笑中的你閱讀 733評論 0 0
  • 不透明類型 具有不透明返回類型的函數(shù)或方法會隱藏返回值的類型信息。函數(shù)不再提供具體的類型作為返回類型,而是根據(jù)它支...
    xiaofu666閱讀 868評論 0 0
  • 不透明類型 具有不透明返回類型的函數(shù)或者方法會隱藏返回值的類型信息,函數(shù)不在提供具體的類型組委返回值,而是根據(jù)它所...
    枯樹戀閱讀 1,075評論 0 2

友情鏈接更多精彩內(nèi)容