Problème de compréhension
Dans un exemple Apple nomme "CacheInfo-MacOSX", j'ai trouvé ceci:
- (id)init
{
self = [super init];
/* Defines a temporary directory for the on-disk URL cache. */
self.diskPath = [[NSMutableString alloc] initWithString:NSTemporaryDirectory()];
NSString *appName = [[NSProcessInfo processInfo] processName];
[self.diskPath appendString:appName];
/* Creates a custom URL cache that uses both memory and disk. */
NSURLCache *sharedCache =
[[NSURLCache alloc] initWithMemoryCapacity:kMemoryCacheSize * 1000000
diskCapacity:kDiskCacheSize * 1000000
diskPath:diskPath];
[NSURLCache setSharedURLCache:sharedCache];
[sharedCache release];
return self;
}
Je ne vois pas vraiment la raison de fabriquer un "sharedCache" pour le détruire juste après.
Quelle est la bonne explication?
Réponses
Je crois que j'ai zappé la ligne "[NSURLCache setSharedURLCache:sharedCache];" Les zones mémoires sont alors retenues de deux cotés simultanément et supprimer un des pointeurs ne libère pas les zones mémoires. c'est ça?
Ma question prouve qu'il y a quelques notions que je n'ai pas bien assimilé!
Ceci dit tu utilises encore du code non-ARC à faire les retain/release par toi même ? C'est un peu dépassé tout ça ;-) (même si ça ne change pas le principe, avec ARC le raisonnement est le même tant que quelqu'un a une strong reference sur un objet il est retenu en vie par cet objet comme un maà®tre retient un chien avec une laisse.
Vrai, mais ce code n'est pas de moi, il est d'Apple. Suite à des problèmes avec NSURLConnection, j'examine différents exemples d'Apple pour comprendre un peu mieux et faire une application qui marche sous 10.5 et 10.6, ppc et intel. Je ne sais pas de quand date ARC.
En fait je cherche à suivre ton conseil donné dans un autre post, de faire des appels asynchrones.
A mon avis, c'est mal orthographié. Tablier voulait sans doute écrire prolemme, une proposition à la base d'un lemme...
Bon comme vous aimez corriger mes phôtes je vous suggère de corriger celle qui est dans les deux phrases ci-dessous.
Les fruits que j'ai vu cueillir.
Les fruits que j'ai vu mûrir.
Les fruits que j'ai vus mûrissant.
Les fruits que j'ai vu cueillir.
Pomme bon miam miam !
Donc il n'y a rien à corriger, c'est bien "Les fruits que j'ai vu cueillir".
Dans le second cas, c'est les fruits qui ont mûri. Le COD du participe passé se trouve bien être alors "les fruits", donc on doit écrire "Les fruits que j'ai vus mûrir".
Un grand classique. J'irais jusqu'à dire une antienne. Mais il m'est agréable de voir, au milieu de la dysorthographie ambiante, que les gens de CocoaCafé traquent aussi bien la faute de français que l'erreur de code... ^_^
Je viens de revenir et je vois que ça vous a fait réagir, même si c'est un grand classique!
Quand j'étais en 6ieme, l'instituteur nous a fait faire cette dictée (que vous pouvez essayer de faire faire à vos enfants):
Règle de trois:
Si six scies scient six cigares,
six cent six scies scient six cent six cigares.
Une vrai catastrophe en nombre de fautes!