iOS中assign和weak修飾符的區別
assign與weak,它們都是弱引用宣告型別,最大的區別在那呢?
如果用weak宣告的變數在棧中就會自動清空,賦值為nil。
如果用assign宣告的變數在棧中可能不會自動賦值為nil,就會造成野指標錯誤!
他們常用在基本型別屬性,比如BOOL,int等,還有就是delegate。
在使用delegate時,需要注意,非ARC時是使用assign,但到了ARC時代,都建議使用weak,這樣更安全。
相關文章
- weak和assign的區別
- assign 和 weak 區別?
- vue中v-model和.sync修飾符區別Vue
- iOS __block修飾符iOSBloC
- java中的修飾符Java
- solidity 引用型別修飾符memory、calldata與storage 常量修飾符Constant與Immutable區別Solid型別LDA
- final修飾和static final修飾的區別
- 【iOS】用strong和weak來修飾成員變數的對比iOS變數
- c#.net中引數修飾符ref,out ,params得區別C#
- Java中的native修飾符Java
- 最新的assign與weak的區別 看不明白你打我
- Vue - 按鍵修飾符 && 系統修飾符Vue
- 關於Java中各種修飾符與訪問修飾符的說明 (轉)Java
- Java中”失效”的private修飾符解析Java
- java中final修飾符的用法Java
- Java 修飾符Java 修飾符
- java修飾符Java
- Java的static修飾符Java
- vue 事件修飾符Vue事件
- vue sync 修飾符Vue
- 繼承&修飾符繼承
- Java 常用修飾符Java
- 深入理解 Java 中 protected 修飾符Java
- Java的訪問修飾符Java
- C#中const 和 readonly 修飾符的用法詳解C#
- Vue的.sync修飾符的使用Vue
- Java的“友好的”訪問指示符(修飾符)Java
- 開心檔之C++ 修飾符型別C++型別
- php 修飾符和魔術方法 (基礎)PHP
- 如何獲取java類中的欄位修飾符?Java
- java static修飾符的問題Java
- Java中final修飾符都有什麼作用Java
- Vue事件修飾符詳解Vue事件
- TypeScript 類訪問修飾符TypeScript
- java修飾符使用指南Java
- C語言中的各種修飾符C語言
- iOS中isKindOfClass和isMemberOfClass的區別iOS
- v-on 及其事件修飾符事件