2014-12-17 5 views
0

Я делаю приложение, в котором я использую tableview, и в каждой ячейке таблицы я использую флажки. Теперь я застрял в этом месте, когда флажок установлен, я хочу получить значение этой таблицы. Я показываю идентификатор сообщений в ячейке таблицы. Я хочу получить messages_Id из тех ячеек, чьи флажки отмечены. Если я выбираю 1 флажок, его идентификатор сообщения хранится в NSString, и если я выберу 2 флажка, то 2 сообщения этих флажков хранятся в строке, как это можно сделать. У меня был массив maked, в котором я хочу сохранить идентификаторы сообщений checkboxes, но я получаю следующее исключение. Ниже приведен мой пример кода флажков действиязавершение с неперехваченным исключением типа NSException 4

-(IBAction)checkButton:(UIButton *)sender 
{ 
    CGPoint buttonPosition = [sender convertPoint:CGPointZero toView:self.activitiesTableView_]; 
    NSIndexPath *indexPath = [self.activitiesTableView_ indexPathForRowAtPoint:buttonPosition]; 

    if ([self.checkimageArray containsObject:[self.lblArray objectAtIndex:indexPath.row]])    { 
     [self.checkimageArray removeObject:[self.lblArray objectAtIndex:indexPath.row]]; 
     [self.checkboxmessageArray removeObject:[[self.inboxmessagesarray objectAtIndex:sender.tag]objectForKey:@"messageid"]];//here i am removing whien chekbox is unchecked 
    else { 
     [self.checkimageArray addObject:[self.lblArray objectAtIndex:indexPath.row]]; 
     [self.checkboxmessageArray addObject:[[self.inboxmessagesarray objectAtIndex:sender.tag]objectForKey:@"messageid"]];// i am getting exception in this line 
    } 
} 

В чем причина, почему я получаю это исключение застрял в нем в течение многих дней?

+1

вы можете присвоить значение тега checkbox button.index value - значение тега checkbox.best и простой способ работы. –

+0

как это можно сделать ??? вы будете предоставлять некоторые вещи для этого? –

+0

@MishalAwan у вас есть только один флажок в каждой ячейке? –

ответ

0

создать в ViewDidLoad один общий NSMutableArray так же, как

self.checkboxmessageArray =[NSMutableArray New]; 



-(IBAction)checkButton:(UIButton *)sender 
    { 
     CGPoint buttonPosition = [sender convertPoint:CGPointZero toView:self.tblvie]; 
     NSIndexPath *indexPath = [self.tblvie indexPathForRowAtPoint:buttonPosition]; 

     if ([self.checkimageArray containsObject:[self.lblArray objectAtIndex:indexPath.row]]) { 
      [self.checkimageArray removeObject:[self.lblArray objectAtIndex:indexPath.row]]; 
      [self.checkboxmessageArray removeObject:[[self.inboxmessagesarray objectAtIndex:sender.tag]objectForKey:@"messageid"]]; 


     } 


     else { 
      [self.checkimageArray addObject:[self.lblArray objectAtIndex:indexPath.row]]; 

      messageid.text=[[self.inboxmessagesarray objectAtIndex:sender.tag]objectForKey:@"messageid"]; 
      [self.checkboxmessageArray addObject:[[self.inboxmessagesarray objectAtIndex:sender.tag]objectForKey:@"messageid"]];//assume that this is your message ID array, here u convert the string 



          } 
          [self.tblvie reloadRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation: UITableViewRowAnimationFade]; 

} 

если u хочу отправить MESSAGEID на сервере, следить за этим и настраивать себя

NSString *finalIDStr; 

if (self.checkboxmessageArray .count==0) 
{ 
    [email protected]""; 
} 
else 
{ 


    NSData *data=[NSJSONSerialization dataWithJSONObject: self.checkboxmessageArray options:kNilOptions error:nil]; 
    finalIDStr=[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; 
    NSLog(@"the final ID Str==%@",finalIDStr); 

} 

наконец пройти этот yourmessageidStr строку на сервер

Console выход так же, как

the final ID Str=["658681","655917","655904"] 
0

в методе cellForRowAtIndexPath назначить кнопки значение тега значения indexPath как

checkbox.tag=indexPath.row 

и получить значение из

-(IBAction)checkButton:(UIButton *)sender 
{ 

    [self.checkimageArray objectAtIndex:sender.tag]; 
    ///additional code 

} 
+0

из-за этих флажков selecteed хранятся в массиве tht? –

+0

basely это зависит от вашей потребности. Существует так много способов для этого. вы использовали свойство sender.selected для этого. –

Смежные вопросы