选择UITableView单元格时,iphone sdk中没有任何内容

时间:2013-03-05 02:12:45

标签: iphone uitableview

* 我在IOS5上尝试此代码工作正常,但是当我尝试IOS6时什么都不做 我无法重现这个问题...... 任何身体都可以帮助我它让我疯狂...... *

        - (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 个答案:

答案 0 :(得分:1)

你不应该将字符串与==进行比较,因为它会比较指针,这些指针可能不相同。在iOS 5上它可能是,所以它工作。您需要使用isEqual:或isEqualToString:

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

此外,基于UI假设事物通常是一种不好的做法。您应该有一个模型,并使用indexPath来获取逻辑值。