Question

Selon un autre poste Stack Overflow le message drain est un apple n'appeler:

NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSLog (@"Hello");
[pool drain];
return 0;

Est-il sûr de remplacer drain avec release? Je suis en train de porter une application Objective-C pour fonctionner sur Linux (Ubuntu pour le moment). Dois-je abandonner avant même que j'ai commencé? (Je suis déjà avoir des problèmes en essayant d'obtenir le travail du NSURLConnection)

Était-ce utile?

La solution

De la documentation d'Apple de drain:

  

[...] cette méthode se comporte comme la libération. [...]

drainant donc une piscine autorelease signifie désaffecter il inévitablement. À mon avis, Apple devrait désapprouver drain car il ne crée que confusion.

  

Considérations particulières:   Dans un environnement ramasse-miettes, release   est un non-op, donc à moins que vous ne voulez pas   pour donner le collecteur un soupçon est   important d'utiliser drain dans tout code   qui peut être compilé pour une   environnement ramasse-miettes.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top