Ho un ciclo piuttosto grande che ottiene una stringa, fa qualcosa per esso, piuttosto che passa alla successiva. Inizialmente lo stavo rilasciando, quindi lo ho riallocato ma ho pensato che fosse un po 'di spreco di risorse, ma non riesco a capire come eliminarlo per riutilizzarlo.Cancellare piuttosto che rilasciare una NSMutableString
risposta
Un modo sarebbe [myString setString: @""]
.
La soluzione scelta andrà in crash con il seguente errore:
'Tentativo di mutare oggetto immutabile con setString:'
Questo ha funzionato per me, invece:
self.myString = [NSMutableString stringWithString: @ ""];
assicurati di sintetizzare myString nella tua classe.
concordato. L'impostazione di NSMutableString su una NSString non è buona. L'errore che si ottiene in Xcode 4.4 è "Tipi di puntatori incompatibili che inviano 'NSString *' al parametro di tipo 'NSMutableString *'". Impostarlo con questa soluzione è meglio. – Joseph
Mi sembra che stia allocando una nuova istanza NSMutableString? Non è tanto uno spreco di risorse quanto nella domanda originale? – ArtOfWarfare
Se si ottiene "Tentativo di mutare oggetto immutabile con setString:", la stringa che si sta tentando di modificare non è una "NSMutableString", e si ha a che fare con un problema diverso da "Cancellare piuttosto che rilasciare una NSMutableString", il titolo di questa domanda. – JWWalker
- 1. Come aggiungere NSMutableString con NSMutableString?
- 2. Come cancellare/rilasciare correttamente AVPlayer/AVPlayerItem?
- 3. Come rimuovere una NSString da una NSMutableString?
- 4. Rimozione dell'ultimo carattere da una NSMutableString
- 5. Dati sensibili: NSString VS NSMutableString (iPhone)
- 6. Definizione di NSMutableString?
- 7. Java 7 ha un modo di mettere i file nel cestino piuttosto che cancellare su Windows
- 8. NSMutableString stringByReplacingOccurrencesOfString Warning
- 9. Posso definire un __repr__ per una classe piuttosto che un'istanza?
- 10. Perché rilasciare una proprietà che hai già impostato su zero?
- 11. Aggiunta di stringhe a NSMutableString
- 12. Aggiunta di unichar a NSMutableString
- 13. Come cancellare/cancellare una variabile di cache
- 14. CASO (Contiene) piuttosto che la dichiarazione uguale
- 15. Unione UIBezierPaths piuttosto che apend percorso
- 16. Perché tornare const razionale piuttosto che razionale
- 17. di riferimento con VM, piuttosto che $ portata
- 18. Posizione di un carattere in una NSString o NSMutableString
- 19. Polimorfismo C++ statico piuttosto che dinamico
- 20. passare al metodo implementato, piuttosto che l'interfaccia
- 21. Perché Object.defineProperty() piuttosto che this.defineProperty() (per oggetti)?
- 22. Come cancellare una stringa?
- 23. Come cancellare una password?
- 24. Come cancellare una matrice
- 25. Voglio che Python argparse lanci un'eccezione piuttosto che l'uso
- 26. Qual è lo scopo di avere NSMutableString e NSString?
- 27. Conteggio dei caratteri in NSString o NSMutableString?
- 28. Come reimpostare NSMutableString con un valore vuoto?
- 29. Una domanda di ereditarietà Javascript (piuttosto oscura)
- 30. Come faccio a rilasciare una tabella da SQLite3 in DJango?
Questo è fastidioso, in realtà l'ho provato e si è schiantato, quindi ho pensato che non avrebbe funzionato. Finito ho lasciato un'altra dichiarazione che si è schiantato. – Rudiger