In meiner App bekomme ich ein Objekt von NSNotificationCenter
(bilden einen anderen Controller) und fügen Sie das Objekt UITableView
:Falsche Objekt hinzugefügt UITableView
-(void)viewWillAppear:(BOOL)animated
{
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(RosterSave:) name:@"RosterSave" object:nil];
}
-(void)RosterSave:(NSNotification *)notification
{
NewRoster* newRoster = [[NewRoster alloc]init];
newRoster = notification.object;
[myUser.rosterArray addObject:newRoster];
[self.myRoster reloadData];
}
Dies ist die Tableview-Methode:
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return myUser.rosterArray.count;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSString *iden = @"MyTable";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:iden];
if (cell == nil)
{
cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:iden];
}
NewRoster* myNewRoster = [myUser.rosterArray objectAtIndex:indexPath.row];
cell.textLabel.text = myNewRoster.nameRoster;
return cell;
}
Wenn Der Benutzer fügt das erste Objekt hinzu, die TabelleView erhält eine eigene Zeile. Wenn der Benutzer das zweite Objekt hinzufügt, fügt er zwei Zeilen des zweiten Objekts und auf diesem Weg hinzu.
Wie kann ich dieses Problem beheben?
Können Sie überprüfen, wie oft 'RosterSave:' aufgerufen wird? Und überprüfe 'myUser.rosterArray' jedes Mal darin? – Larme
mit welchem Problem haben Sie konfrontiert? – Feroz
Können Sie die Antwort bearbeiten und genau auf Ihr Problem hinweisen? – EridB