0
如果我有一個NSMutableArray
或NSMutableDictionary
並把它傳遞到方法一拉:將一個NSMutableArray或NSMutableDictionary傳遞給一個方法 - 可以添加到它嗎?
-(void)addToThisArray:(NSMutableArray *)theMutableArray
{
[theMutableArray addObject:@"test"];
}
,並調用它像:
NSMutableArray *theMutableArrayToPass = [[NSMutableArray alloc] init];
[theMutableArrayToPass addObject:@"2"];
[self addToThisArray:theMutableArrayToPass];
這是改變的NSMutableArray
或NSMutableDictionary
有效的方法是什麼?當然,我會比這個例子對數組/字典做更多的事情,但我習慣Perl,而且我們一直都是通過引用傳遞的。
太棒了。我有一個內存泄漏問題,並試圖追查它。我只是想確保當我這樣做時,我沒有複製整個數組/字典並添加到它 - 從而以某種方式將其未使用的內存加倍。謝謝! ARGHHH!我再接受11分鐘的答覆。我會這樣做,當stackoverflow允許我。再次,謝謝! – Jann
搜索「bbum heapshot analysis」並閱讀我寫的關於使用Heapshot分析追蹤記憶增長的文章。它很可能會很快地解決你的記憶增長問題。祝你好運! – bbum
哦,我的天啊!我讀了你的文章,這讓我想到了autorelease池。所以,我把它放在一個'NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];''[pool release]'裏面,它從1.5G變成了29MB!感謝您帶領我朝着幫助我解決問題的方向前進。我*討厭*範圍相關的autorelease錯誤。 (即使他們是我自己的 - 我應該知道的!)+2在這一個。一個用於幫助我處理byRef問題......另一個是通過引導我回答一個問題,讓我整夜摸索着自己的腦袋! – Jann