PDA

View Full Version : tableView:moveRowAtIndexPath:toIndexPath:




CeiJay
Jul 18, 2010, 06:35 PM
I have an NSMutableArray holding Moving Files which load into the player depending on the cell indexPath. The retain method below does the job in retaining the cell, its title and the file all together when moved. Yet when I push a new view within UINavigation I retain is lost.

What is the best way to retain an array throughout the app when using tableView:moveRowAtIndexPath:toIndexPath:

My Array

if (filmMovie == nil)
{
NSMutableArray *array = [[NSMutableArray alloc] initWithObjects:
@"Mov1.mov",
@"Mov2.mov",
@"Mov3.mov",
@"Mov4.mov",
@"Mov5.mov",
@"Mov6.mov",
@"Mov7.mov",
@"Mov8.mov",
@"Mov9.mov",
@"Mov10.mov", nil];
self.filmMovie = array;
[array release];
}

My Retain

- (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath *)toIndexPath {
NSUInteger fromRow = [fromIndexPath row];
NSUInteger toRow = [toIndexPath row];

id object = [[filmMovie objectAtIndex:fromRow] retain];
[filmMovie removeObjectAtIndex:fromRow];
[filmMovie insertObject:object atIndex:toRow];
[object release];
}

Thoughts?