Когда я закончил свое приложение для iOS и убрал утечки памяти,
Я обнаружил, что прибор показывал утечку при назначении ему значений.
В файле .h я объявил NSdictionary feedData со свойством (nonatomic, retain).
У меня есть еще один класс WebServiceController, который возвращает NSdictionary.
Вот мой код.
В файле .m
if ([nid rangeOfString:@","].location == NSNotFound)
{
NSArray *data = [[NSArray alloc]initWithObjects:nid,[NSNumber numberWithInt:0],[NSNumber numberWithInt:0],delegate1.myCity,nil];
WebServiceController *wsct=[[WebServiceController alloc]init];
wsct.delegate=[[UIApplication sharedApplication]delegate];
feedData=[wsct getTimelineFeed:data];
NSLog(@"feed data is--->%@",feedData);
[wsct release];
}
Код "feedData = [wsct getTimelineFeed: data];" дает утечку памяти.
вот функция, которая возвращает NSDictionary.
- (NSDictionary *) MyTimelineFeed: (NSArray *) данные
{
if(![delegate sessionId] ) return nil;
XMLRPCRequest *request = [[XMLRPCRequest alloc] initWithHost:[NSURL URLWithString:ENDPOINT]];
NSMutableArray * postParams = [NSMutableArray array];
NSString * method = [NSString stringWithFormat:@"timeline.getFeedItems"];
[postParams addObject:[delegate sessionId] ];
for (int i = 0; i < [data count]; i++) {
[postParams addObject:[data objectAtIndex:i]];
}
[request setMethod:method withObject:postParams];
XMLRPCResponse *nodeSaveResponse = [XMLRPCConnection sendSynchronousXMLRPCRequest:request];
[request release];
if([nodeSaveResponse isKindOfClass:[NSError class]])
return nil;
NSMutableDictionary * dict = [nodeSaveResponse object];
if ([dict isKindOfClass:[NSError class]]) {
//NSLog(@"Error found");
return nil;
}
return dict;
}
Пожалуйста, помогите.