2011-01-18 2 views
0
NSDictionary *headerFields = [(NSHTTPURLResponse*)response allHeaderFields]; 
    NSURL *url = [NSURL URLWithString:@"https://secure.tesco.com/clubcard/clubcard/main.asp"]; 
    NSArray *theCookies = [NSHTTPCookie cookiesWithResponseHeaderFields:headerFields forURL:url]; 

    self.mHeaderResponseData= [NSString stringWithFormat:@"%@", [theCookies objectAtIndex:2]]; 

mHeaderResponseData avoir conserver la propriété ...obtenir fuite de mémoire

ce code est à l'intérieur connectionDidRecievResponse méthode

une idée ... et je publie dans mHeaderResponseData dealloc

+1

Pourquoi pensez-vous qu'il ya une fuite? Qu'en est-il du code environnant? Que disent les instruments? – DarkDust

+0

Et BTW, vous devriez accepter les réponses à vos questions précédentes. – DarkDust

+0

Je suis d'accord avec @DarkDust il n'y a pas de fuite de mémoire ici. Peut-être devriez-vous vérifier avec Instruments et trouver l'endroit précis où vous avez la fuite de mémoire. –

Répondre

1

Avez-vous alloc et initialise aussi la variable mHeaderResponseData dans d'autres fonctions.

si oui vous avez besoin alors de le libérer lorsque vous faites stringWithFormat:

et

Cette ligne va créer mHeaderResponseData sans incrémenter le compte RETAIN.

self.mHeaderResponseData= [NSString stringWithFormat:@"%@", [theCookies objectAtIndex:2]]; 

utiliser de sorte qu'au lieu initWithFormat:

+1

pawan a indiqué que la propriété 'mHeaderResponseData' a un ensemble' retain', donc l'affectation augmentera/diminuera correctement le nombre de retenues. – DarkDust

+0

CFHTTPCookieGetCreateDate est obsolète dans cette version du système d'exploitation. Les clients doivent appeler CFHTTPCookieGetCreationTime ou l'équivalent NS à la place ou risquer des fuites. dans la console je reçois cet avertissement ??? .. – iOSPawan