1. 程式人生 > >[iOS] 如何在 NSArray 中存放 weak 的引用

[iOS] 如何在 NSArray 中存放 weak 的引用

遇到一個問題,把 self 加到靜態變數的 NSArray 的時候,由於被 NSArray 持有,所以無法釋放,因此不能呼叫 dealloc 方法,也就無法將自己從 array 中 remove 掉。

問題整理一下,就是如何在 NSArray 中存放 weak 的引用?

解決的方案是:在外面加上一層 NSValue。答案地址:

程式碼如下:

NSValue*value =[NSValue valueWithNonretainedObject:myObj];[array addObject:value];