Я надеюсь, удалить все строки с UITablewViewудалить строки из UITableView вызывает утечку памяти
UITableView является «atableview», ее источником данных является «fileArray».
NSMutableArray * fileArray;
fileArray является NSMutableArray для объекта MYFileObj
#import <UIKit/UIKit.h>
NSMutableArray *fileArray;
@interface MYFileObj : NSObject {
NSString *fileName;
}
-(void) setFileName:(NSString *)s ;
-(NSString *) FileName ;
@end
я загрузить fileArray сначала, а затем вызвать [atableview reloadData];
после делать что-то, я надеюсь, чтобы перезагрузить fileArray и перерисовывать atableview, поэтому я называю
-(void) removeACell:(NSInteger)row;
{
NSUInteger _lastSection = 0;//[self numberOfSectionsInTableView:atableview];
NSUInteger _lastRow =row;// [atableview numberOfRowsInSection:_lastSection] - 1;
NSUInteger _path[2] = {_lastSection, _lastRow};
NSIndexPath *_indexPath = [[NSIndexPath alloc] initWithIndexes:_path length:2];
NSArray *_indexPaths = [[NSArray alloc] initWithObjects:_indexPath, nil];
[_indexPath release];
[atableview deleteRowsAtIndexPaths:_indexPaths withRowAnimation: UITableViewRowAnimationNone];
[_indexPaths release];
}
-(void) reloadList;
{
if([fileArray count]>0) //----the begining of the codes cause memory leak
{ //I hope to remove all rows and reload fileArray
NSInteger n=fileArray.count;
[atableview beginUpdates];
for(int i=n-1;i>=0;i--)
{
[fileArray removeObjectAtIndex:i];
[self removeACell:i];
}
[fileArray release];
[atableview endUpdates];
} //----the end of the codes cause memory leak
//load fileArray again
[atableview reloadData];
}
Но я нашел эту утечку памяти причины.
Приветствуется любой комментарий.
Благодаря
InterDev