У меня есть 3 разных массива. 1) для идентификаторов 2) для имен 3) для электронной почты.проблема при получении выбранного значения из tableview
Я показываю имена в виде таблицы.
И отображение выбранного имени с галочкой в виде таблицы.
Теперь мне нужно получить идентификатор выбранного имени и адрес электронной почты из массивов идентификаторов и электронной почты.
И этот восстановленный идентификатор и электронные письма необходимо сохранять в двух разных массивах.
для этого моего код
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 1;
}
// Customize the number of rows in the table view.
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return [self.sourceArray count];;
}
// Customize the appearance of table view cells.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
}
[cell.textLabel setText:[self.sourceArray objectAtIndex:indexPath.row]];
if ([self.selectedArray containsObject:[agentemails objectAtIndex:indexPath.row]]){
NSLog(@"111111111111");
[cell setAccessoryType:UITableViewCellAccessoryCheckmark];
}
else
{
[cell setAccessoryType:UITableViewCellAccessoryNone];
}
if ([self.selected_agentid_email containsObject:[agentids objectAtIndex:indexPath.row]]){
NSLog(@"222222222222");
[cell setAccessoryType:UITableViewCellAccessoryCheckmark];
}
else
{
[cell setAccessoryType:UITableViewCellAccessoryNone];
}
if(myBoolean){
[cell setAccessoryType:UITableViewCellAccessoryCheckmark];
}
return cell;
}
#pragma mark -
#pragma mark Table view delegate
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
if ([self.selectedArray containsObject:[agentemails objectAtIndex:indexPath.row]]){
NSLog(@"33333333333333");
[self.selectedArray removeObjectAtIndex:[self.selectedArray indexOfObject:[agentemails objectAtIndex:indexPath.row]]];
}
else
{
[self.selectedArray addObject:[agentemails objectAtIndex:indexPath.row]];
}
if ([self.selected_agentid_email containsObject:[agentids objectAtIndex:indexPath.row]]){
NSLog(@"4444444444444444");
[self.selected_agentid_email removeObjectAtIndex:[self.selected_agentid_email indexOfObject:[agentids objectAtIndex:indexPath.row]]];
}
else
{
[self.selected_agentid_email addObject:[agentids objectAtIndex:indexPath.row]];
}
[tableView reloadRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationNone];
[tableView deselectRowAtIndexPath:indexPath animated:YES];
}
но проблема я получаю,
например: если я выбрать 3 названия в Tableview я могу получить только один EMAILID и 3 идентификаторов.
Я не понял, в чем проблема.
может любой, пожалуйста, помогите мне.
Благодарим u заранее.
Спасибо и Джо, но я не получил, где я могу дать идентификатор агента и агента email.I я не получаю с - (Недействительными) Tableview: (UITableView *) Tableview didDeselectRowAtIndexPath: (NSIndexPath *) indexPath {может у, пожалуйста, отредактируйте его с некоторым объяснением – MaheshBabu
NSLog внизу кода. 'NSLog (@" Агент:% @% @% @ ", agent.name, agent.aID, agent.email);' и агент извлекается в этой строке 'Агент * агент = (Агент *) [self.allAgents objectAtIndex: indexPath.row]; ' – Joe
@MahesBabu В классе агента, где он говорит' NSObject 'удалять те протоколы, которые они оставили там от меня, тестируя' tableView: didSelectRowAtIndexPath: 'Я обновил код для отражения перемены. –
Joe