2016-05-16 18 views
0

以下代碼用於從URL獲取數據。我想選擇一個有限的3行選擇.. Plz幫助我解決這個問題。 TIA僅限於從URL中選擇UITableView中的行

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { 
    return 1; 
} 

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { 
    // Return the number of rows in the section. 
    return [self.countriesArr count]; 
} 


- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 

    NSUInteger row = [indexPath row]; 

    static NSString *MyIdentifier = @"tableCell"; 

    CustomCell *cell = (CustomCell *) [tableView dequeueReusableCellWithIdentifier:MyIdentifier]; 


    if (cell == nil) { 

     NSArray *topLevelObjects = [[NSBundle mainBundle] loadNibNamed:@"CustomCell" owner:self options:nil]; 

     for (id currentObject in topLevelObjects){ 
      if ([currentObject isKindOfClass:[UITableViewCell class]]){ 
       cell = (CustomCell *) currentObject; 

      } 
     } 

    } 

    NSDictionary *thisRow = [self.countriesArr objectAtIndex:row]; 


    if(_WSConstCountryID !=nil && ![_WSConstCountryID isEqual:@"0"] && ![_WSConstCountryID isEqual:@""] && _WSConstCountrySelectedIndex ==row ) 
    { 
     cell .accessoryType=UITableViewCellAccessoryCheckmark; 
    } 
    else { 
     cell .accessoryType=UITableViewCellAccessoryNone; 
    } 

    cell.lblTitle.text = [thisRow objectForKey:_WSColumnCountryName]; 
    NSString *str=[thisRow objectForKey:_WSColumnCountryID]; 
    NSString *stra=_WSConstCountryID; 
    if ([str isEqualToString:stra]) { 
     cell .accessoryType=UITableViewCellAccessoryCheckmark; 
     cell.highlighted=YES; 
    }else 
    { 
     cell .accessoryType=UITableViewCellAccessoryNone; 

    } 


    return cell; 


} 
#pragma mark - 
#pragma mark Table view delegate 

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 


    [tableView deselectRowAtIndexPath:indexPath animated:YES]; 

    NSUInteger row = [indexPath row]; 
    NSDictionary *thisRow=[self.countriesArr objectAtIndex:row]; 
    NSLog(@"%@",[thisRow description]); 


    UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath]; 



    if (cell.accessoryType == UITableViewCellAccessoryNone) 
    { 
     cell.accessoryType = UITableViewCellAccessoryCheckmark; 
    } 
    else 
    { 
     cell.accessoryType = UITableViewCellAccessoryNone; 
    } 

    if(_WSConstCountryID!=nil && ![_WSConstCountryID isEqual:@"0"] && ![_WSConstCountryID isEqual:@""] &&_WSConstCountrySelectedIndex!=row) 
    { 

     UITableViewCell *cell = [tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:_WSConstCountrySelectedIndex inSection:0]]; 


     if (cell != nil) 
     { 
      cell .accessoryType=UITableViewCellAccessoryNone; 
     } 

    } 
    if(cell.accessoryType == UITableViewCellAccessoryCheckmark) 
    { 
     _WSConstCountryID=[thisRow objectForKey:_WSColumnCountryID]; 
     _WSConstCountryName=[thisRow objectForKey:_WSColumnCountryName]; 
     _WSConstCountrySelectedIndex=row ; 
    } 
    else 
    { 
     [email protected]"0"; 
     [email protected]"Select"; 
     _WSConstCountrySelectedIndex=-1 ; 
    } 

    [self.navigationController popViewControllerAnimated:YES]; 

} 

回答

0

你可以有一個全局變量,並將其值設置爲0開始, 增加/做選擇並沒有取消降低其價值。確保數值應在0-3之內,並在數值試圖越過3時顯示相應的消息。

相關問題