一直對ios的記憶體管理這塊不是很了解,等忙完手上的專案,就抓緊時間梳理下。
昨天寫程式遇到乙個問題,關於nsindexpath的。程式中有段**是這樣的:
self.lastindexpath = [[nsindexpath alloc] init];
nsindexpath
*temp = [
nsindexpathindexpathforrow:
self
.selectrowinsection:1];
self.lastindexpath = temp;
[temp release];
然後程式就執行中在 @synthesize lastindexpath 的 地方報乙個錯: thread1 : program received a signal :"exc_bad_access";
因為自己這段程式上有這樣一段類似的**:
nsarray *array = [[nsarray
alloc] initwithobjects:@"
透明",@"
白色",@"
淡綠",@"
粉紅",@"
淺紫",nil];
self
.colorselectlist= array;
[array release];
但這個地方的 self.colorselecylist 是沒有alloc init 的 ,而是將乙個 alloc init 的array的 物件賦給它。開始以為2個地方是一樣的,沒什麼問題。
後來看到 說沒有retain。
我就開始懷疑這裡真的有問題,我試著把 [temp release];這句注釋掉。發現程式就不報錯了。
還有一種辦法: self.lastindexpath = [temp retain]; [temp release]; 這時可以不注釋 這句 temp release。
還不清楚 這些具體的區別,改天好好補一下記憶體管理。
內點法python 內點法
文字理解 內點法屬於約束優化演算法。約束優化演算法的基本思想是 通過引入效用函式的方法將約束優化問題轉換成無約束問題,再利用優化迭代過程不斷地更新效用函式,以使得演算法收斂。內點法 罰函式法的一種 的主要思想是 在可行域的邊界築起一道很高的 圍牆 當迭代點靠近邊界時,目標函式徒然增大,以示懲罰,阻止...
QPixmap loadFromData記憶體洩露
環境 qt 4.6.2 ubuntu 8.10 使用qt4.6.2 中的qpixmap loadfromdata const qbytearray data,const char format 0,qt imageconversionflags flags qt autocolor 發現記憶體有洩露...
內錶 XML互轉 JSON 內錶互轉
轉進內錶 strans try.call transformation id source xml lv text out options clear all 4.7 沒有這個options value handling accept data loss 這個引數也沒有 result data p ...