2013-03-05 58 views
-1

* 我尝试在IOS5此代码工作正常,但是当我在iOS6的尝试无能为力 我不能重现该问题... 任何机构可以帮助我,这是我发疯.... *UITableView的单元格时,什么也没有选择在iPhone SDK的发生

 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    UITableViewCell *cell =[tableView cellForRowAtIndexPath:indexPath]; 

    if (cell.textLabel.text== @"Cairo") { 

    //Cairo 

    center.latitude=29.333983; 
    center.longitude=30.453069; 
    span.latitudeDelta=1.400686; 
    span.longitudeDelta= 2.705383; 
    region.center=center; 
    region.span=span; 
    [_mapView setRegion:region animated:NO]; 

    } 

    else if(cell.textLabel.text== @"Alexandria") 
    { 
    // Alexandria 

    center.latitude=31.200092; 
    center.longitude=29.918739; 
    span.latitudeDelta=0.324794; 
    span.longitudeDelta=0.676346; 
    region.center=center; 
    region.span=span; 
    [_mapView setRegion:region animated:NO]; 

    } 
} 

回答

1

你不应该用==比较字符串,因为它会比较指针,这可能是不一样的。在iOS 5上它可能是,所以它的工作。您需要使用isEqual:方法或isEqualToString:

if ([cell.textLabel.text isEqualToString:@"Cairo"]) { // do stuff 

此外,它通常是一个不好的做法,认为基于UI的事情。你应该有一个模型,并使用indexPath来获取逻辑值。

相关问题