Objective C: Reload Data i UITableView, men der sker ikke noget ?
Hej..Jeg har en oversigt view controller hvor man kan klikke på en cell og navigere ind i en visning af tippet, der har jeg en UIBarButtonItem i toppen af navigations baren i toppen, man klikker der på og der kommer en action sheet op fra bunden af appen, hvor man kan tilføje til favoritter, og man klikker der på så bliver den også fint tilføjet til min favorit view controller, når man gør det bliver der kaldet en :
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(updateTableView) name:@"UpdateTableViewsNotification" object:nil];
med en funktion updateTableView:
-(void)updateTableView
{
[self.tableView reloadData];
}
men det virkede ikke.
Den skulle gerne opdater min favorit view controller cells med det nye data
Jeg har også prøvet at lave updateTableView funktionen lidt om:
-(void)updateTableView
{
[self setFavorites];
[self.tableView reloadData];
}
den oprettede de samme data mange gange... altså duplikerede dataen
setFavorites funktionen laver en NSMutableArray fra NSUserDefaults, som i kan se her:
-(void)setFavorites
{
// Tjekker om de er blevet sat
if(favorite == nil || favoritArray == nil)
{
// Jeg sætter favorite
favorite = [NSUserDefaults standardUserDefaults];
// Jeg sætter newfavoriteArray
favoritArray = [[NSMutableArray alloc] init];
}
// Den skal kun køre denne hvis favorites ikke er tom
if([favorite objectForKey:@"favorites"] != nil)
{
// Jeg pakker objekterne ud
for(NSDictionary *getTipFromFavoriteNew in [[favorite objectForKey:@"favorites"] mutableCopy])
{
[favoritArray addObject:getTipFromFavoriteNew];
}
}
// Jeg tjekker om der er favoritter da jeg skal vise edit knappen
if(favoritArray.count != 0)
{
// Man skal kunne slette favoritter igen
self.navigationItem.leftBarButtonItem = [[[UIBarButtonItem alloc] initWithTitle:@"Delete All" style:UIBarButtonSystemItemTrash target:self action:@selector(deleteAlert)] autorelease];
self.navigationItem.rightBarButtonItem = self.editButtonItem;
}
}
Men når jeg køre alt dette, duplikere den bare dataen og ikke bare indsætter det nye data ..
i kan også se alt koden fra min favorit controller: http://pastebin.com/XWe4yFK0
Jeg har prøvet alt muligt, men ved ikke hvordan jeg løser dette. :)
Håber i kan hjælpe mig !!!
Tak...