【发布时间】:2011-10-04 11:46:46
【问题描述】:
我正在使用带有参数的字典来发送到 Web 服务。我一直从中得到内存泄漏,尽管我为该对象做了一个释放。我的代码:
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
// getting an NSString
NSString *clientID = [prefs stringForKey:@"ClientID"];
//Call web service
id delegate1 = self;
AsyncWebServiceController * webService = [[[AsyncWebServiceController alloc] initWithDelegate:delegate1
selSucceeded:@selector(webServiceConnectionSucceeded:)
selFailed:@selector(webServiceconnectionFailed:)] autorelease];
NSMutableDictionary *params = [[NSMutableDictionary alloc] init]; //Memory leak here
[params setValue:clientID forKey:@"clientId"]; //Memory leak here
[params setValue:[self.jobDetails objectForKey:@"BoardId"] forKey:@"jobBoardId"];
[params setValue:[self.jobDetails objectForKey:@"Id"] forKey:@"jobId"];
[webService startRequest:@"JobReviewGet" parameters:params];
[params release];
有什么想法吗?谢谢!!
【问题讨论】:
-
你没有发布 webService。通常人们会使用 setObject 而不是 setValue,尽管这不会导致泄漏。
标签: iphone objective-c memory-leaks nsmutabledictionary