В моем приложении я получаю объект по NSNotificationCenter
(образуют другой контроллер) и добавить объект UITableView
:Неправильный объект добавлен в 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];
}
Это метод Tableview:
- (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;
}
Когда пользователь добавляет первый объект, tableView получает собственную строку. Когда пользователь добавляет второй объект, он добавляет две строки второго объекта и таким образом.
Как исправить эту проблему?
Не могли бы вы проверить, сколько раз вызывается 'RosterSave:'? И проверять 'myUser.rosterArray' каждый раз в нем? – Larme
с какими проблемами вы сталкиваетесь? – Feroz
Можете ли вы отредактировать ответ и четко указать, что представляет собой ваша проблема? – EridB