2013-06-27 50 views
2

我有一些代碼,我需要用另一個數組替換一個數組中的一個對象。現在的代碼將不會檢查該對象是否已被替換,而是繼續替換它,這是否會導致問題?如果是的話,我應該檢查數組是否已經包含對象,而不是如果它包含替換?我正在使用的線路是......是否有任何問題持續更換數組中的對象?

[subArray replaceObjectAtIndex:col withObject:obj]; 

我使用ARC是有所作爲的。

+1

它會導致什麼問題? – woz

+0

然後你每秒打電話多少次? – TheAmateurProgrammer

+0

我想知道是否有任何內存問題。它是遊戲循環的一部分,因此每秒鐘處理很多次。 – Phil

回答

3

replaceObjectAtIndex:方法保留新對象,釋放舊對象,並將數據賦值給支持NSMutableArray數據的數組。即使被分配的對象已存儲在陣列中的相同位置,這些操作也不會導致內存問題。這些操作的執行速度非常快,因此在分配之前檢查相等性可能會浪費時間。

+0

'將數組賦值給支持NSMutableArray的數據'我不確定你的意思是什麼? – abbood

+0

@abbood'NSArray'和'NSMutableArray'在內部分配一個'id'對象數組,並將數據放入該數組中。 – dasblinkenlight

相關問題