2013-07-09 49 views
0

我有少量的代碼,我只希望某個視圖控制器使用它。視圖控制器與另一個控制器共享一個類。基於segue標識符的條件

是否有可能針對基於push segue標識符的if語句?

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

    UIAlertView *messageAlert = [[UIAlertView alloc] 
           initWithTitle:@"Row Selected" message:@"Added to Routine!" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil]; 

我有我的prepareForSegue:方法中的IF語句,但我希望有我的內didSelectRowAtIndexPath:

if ([segue.identifier isEqualToString:@"ShowSightingDetails"]) 

一個我已經看了看周圍,但不能看到什麼,直接與此相關。

這應該是我認爲相當簡單的事情。

+0

不,該segue只能在準備segue訪問。在這之外訪問它甚至沒有意義。 – Fogmeister

回答

0

我想你已經爲故事板中的單元格指定了不同的單元格標識符。您可以獲得tableView:didSelectRowAtIndexPath:中的單元格並檢查其reuseIdentifier。該代碼可能是這樣的:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath*)indexPath 
{ 
    UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath]; 
    if ([cell.reuseIdentifier isEqualToString:@"Identifier1"]) { 
     // Do something 
    } else if ([cell.reuseIdentifier isEqualToString:@"Identifier2"]) { 
     // Do something different 
    } 
} 
+0

好主意。簡單得多。謝謝 – memyselfandmyiphone

2

添加屬性,類似@property (assign, nonatomic) BOOL shouldAlert;並將其值設置爲prepareForSeague,然後您可以稍後參考它。