2009-10-29 23 views

Antwort

27

- [NSMutableArray removeAllObjects] funktioniert nicht für Sie?

+0

Es tut jetzt ... Danke! – rson

+0

Dummerweise scheint es tatsächlich das Objekt loszulassen ... Was ist der Sinn darin? Jedenfalls habe ich es geschafft, indem ich kurz vor dem removeAllObjects ein [NSMutableArray retain] gesetzt habe. – jowie

+1

Joe - in diesem Fall ist Ihr Code kaputt. Siehe http://developer.apple.com/mac/library/documentation/cocoa/conceptual/MemoryMgmt/Articles/mmObjectOwnership.html –

5

removeAllObjects

3

removeAllObjects wenn unter der Annahme von 'Reset', Sie meinen, Sie wollen nur das Array leer.

1

Wenn Sie versuchen, das zu tun, was Sie versuchen zu tun, nämlich ein Array leer zu lassen, es aber nicht freizugeben oder es zumindest beim nächsten Mal verfügbar zu machen, dann müssen Sie zuerst a einstellen Variable oder eine Eigenschaft in Ihrer Klasse für diese Variable:

NSMutableArray *mutableArray; 

Weiter, um diesen Code vor der Position hinzufügen, an dem Sie das leere Array benötigen:

if (!mutableArray) { 
       mutableArray = [[NSMutableArray alloc] init]; 
     } 

Jetzt können Sie sicher nennen

[mutableArray removeAllObjects]; 

ohne Angst, dass das Array nicht mehr verfügbar ist, sobald es leer ist.

Verwandte Themen