3
我有下面的循環(簡化代碼):免費和Malloc在循環 - 正確的方式來釋放內存?
for (int y = 0; y < 20; y++) {
self.array[y].numbers = [self getNumberData:source objectPass:object];
}
這將調用得到NumberData方法。在這個代碼中使用malloc方法,例如:
object->item1 = malloc(sizeof(Class) * object->item2);
我的問題是我如何正確釋放malloced內存?
self.array [y] .numbers是一個C結構。
我可以只將自由(數組)放在dealloc方法中嗎?
謝謝。
規則是每次調用'malloc'需要1次調用'free'。如果你在一個循環中有'malloc'數據,那麼你將需要在'dealloc'中的同一種'loop'中釋放數據。 – Joe
謝謝喬。我如何跟蹤在dealloc中發佈的內容? – GuybrushThreepwood
您只顯示'object-> item1'的例子。這意味着你的'dealloc'至少需要'free(object-> item1)'。如果你爲每個數字項目添加'malloc',那麼你還需要'釋放'每個數字項目。 – Joe