iOS strong 與weak何時使用

2021-07-10 04:16:28 字數 377 閱讀 6518

如果乙個物件在某段時間中反覆載入,而你又不希望每次載入都要重新alloc 的話,那就strong,strong 保證對此物件保持乙個強引用,對於這個物件,只要有1個strong引用的話,那它就不會釋放,當然多個strong同時作用於它也不會釋放。

如果乙個物件在某段時間只會載入一次,並且載入之後確定不再使用了,那就可以使用weak,這樣當其他原因導致引用計數減1(比如 removefromsuperview)的時候,此物件就自動釋放了。無需再在delloc 裡面再release一次,但你要保證釋放之後確實不再使用此物件,否則將導致錯誤。

其實strong和retina的作用有些像,只不過strong 和weak是在arc裡面引入的,他倆算是一對兒, 對應關係有點類似 retiam 和assign

Linux與Windows有何區別

由於本命不是計算機的,所以在使用中興新支點的作業系統之前,我從來沒有聽說過linux 直到開始熟悉中興新支點的作業系統,我才算是對 linux 有了個大致的認識。以下內容謹代表個人觀點喲。linux和我熟悉的 windows 最大的區別在於是否開源。是否開源取決於他的源 是否能被公眾使用。linux...

OpenGL與OpenCL是何關係

opengl open graphics library opencl open computing language opencl和opengl是兩個不同的api。opengl是3d api。opencl是gpu通用運算api。opengl或directx是什麼呢?是負責3d圖形處理的api,包括...

自動引用計數器 五 strong與weak

首先這裡是一片比較基礎的部落格 我在這裡再補充幾句。物件被廢棄時候會進行一下幾步操作 1 從weak表中獲取廢棄物件的位址為鍵值的記錄。2 將包含在記錄中的所有 weak修飾符變數的位址,賦值為nil。3 從weak表中刪除記錄。4 從引用計數器表中刪除廢棄物件的位址為鍵值的記錄。由上述過程可知,如...