Mi viene un po 'fastidio il fatto che alcuni oggetti vengano rilasciati automaticamente senza che io lo sappia. Probabilmente è una buona cosa, ma se lo sono, lo voglio sapere. La documentazione non dice quali metodi autorelease obietta, quindi di solito metto alla prova la mia strada, che a mio parere è stupida. Ad esempio, [Data NSDate] autorizza automaticamente l'oggetto e anche [NSArray arrayWithObjects: ...]. Come fai a sapere senza la documentazione che ti dice?Come sapere se un oggetto è autoreleased o no?
Sto iniziando a vedere un modello anche se metodi come questi, quelli che creano oggetti con una funzione statica, restituisce sempre l'oggetto autoreleased. È sempre vero?
Credo che intendiate "metodo di classe" (anziché "metodo di istanza") piuttosto che "funzione statica". Come indicato di seguito, il +/- non determina se un oggetto restituito è autoreleased, è una questione di convenzione e regole semplici. La maggior parte dei metodi restituisce oggetti che devono essere conservati - i metodi che restituiscono un oggetto con un conteggio dei ritardi +1 sono l'eccezione piuttosto che la regola. –
Metodo di classe intendevo davvero. Ho usato "statico" dalla terminologia java e per qualche ragione "funzione", anche se avrebbe dovuto essere "metodo". Beh, sono tutti uguali nella memoria comunque. :) – quano