【发布时间】:2011-05-15 12:19:16
【问题描述】:
在下面的代码中,参数的引用计数为 3(由 NSLog 显示)...我想了解原因...我试图在这里管理内存,但遇到了一些基本的误解...似乎每次在代码中引用对象时,引用计数都会增加,但是,在这种情况下,参数只被引用一次(分配除外),因此会让我相信引用计数应该只是2. 无论如何...有人可以向我解释一下为什么 arguments 的 retainCount 为 3?
NSString *authToken = [[NSDictionary dictionaryWithContentsOfFile:[GetFilePath pathForFile]] objectForKey: @"auth_token"];
NSString *apiSig = [MD5Gen returnMD5Hash:[NSString stringWithFormat:@"xxxxxxx%@", authToken]];
NSString *arguments = [[NSString alloc] initWithFormat:@"xxxxxxxx%@%@", authToken, apiSig];
NSString *encodedArguments = [arguments stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding];
NSURL *url = [[NSURL alloc] initWithString: encodedArguments];
NSLog(@"%i", [arguments retainCount]);
【问题讨论】: