iOS中assign和weak修飾符的區別
assign與weak,它們都是弱引用宣告型別,最大的區別在那呢?
如果用weak宣告的變數在棧中就會自動清空,賦值為nil。
如果用assign宣告的變數在棧中可能不會自動賦值為nil,就會造成野指標錯誤!
他們常用在基本型別屬性,比如BOOL,int等,還有就是delegate。
在使用delegate時,需要注意,非ARC時是使用assign,但到了ARC時代,都建議使用weak,這樣更安全。
相關文章
- vue中v-model和.sync修飾符區別Vue
- final修飾和static final修飾的區別
- solidity 引用型別修飾符memory、calldata與storage 常量修飾符Constant與Immutable區別Solid型別LDA
- 【iOS】用strong和weak來修飾成員變數的對比iOS變數
- java中的修飾符Java
- 修飾符static和abstract
- Vue - 按鍵修飾符 && 系統修飾符Vue
- 探索 Solidity 中的各種修飾符Solid
- Java 修飾符Java 修飾符
- java修飾符Java
- C#中const 和 readonly 修飾符的用法詳解C#
- Java的static修飾符Java
- vue 事件修飾符Vue事件
- vue sync 修飾符Vue
- Java 常用修飾符Java
- 繼承&修飾符繼承
- 訪問修飾符
- Java的訪問修飾符Java
- Vue的.sync修飾符的使用Vue
- 開心檔之C++ 修飾符型別C++型別
- php 修飾符和魔術方法 (基礎)PHP
- 許可權修飾符
- Java中final修飾符都有什麼作用Java
- 如何獲取java類中的欄位修飾符?Java
- 許可權修飾符和final關鍵字
- java修飾符使用指南Java
- TypeScript 類訪問修飾符TypeScript
- Vue事件修飾符詳解Vue事件
- c語言中const修飾符C語言
- Day39--類修飾符
- Kotlin可見性修飾符Kotlin
- Day33--屬性的修飾符
- C++繼承時的修飾符C++繼承
- 正規表示式 u 修飾符
- 正規表示式 m 修飾符
- v-on 及其事件修飾符事件
- java oop 修飾符&關鍵字JavaOOP
- 從實踐認識修飾符
- MongoDB ( 四 )高階_find修飾符MongoDB