2013-03-05 57 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來獲取邏輯值。

相關問題