基于segue标识符的条件

时间:2013-07-09 13:05:51

标签: ios if-statement

我有少量代码,我只希望使用某个视图控制器。视图控制器与另一个控制器共享一个类。

是否可以根据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"])

我环顾四周,但看不到与此直接相关的任何内容。

这应该是我想到的相当简单的事情。

2 个答案:

答案 0 :(得分:2)

添加属性,例如@property (assign, nonatomic) BOOL shouldAlert;,并将其值设置为prepareForSeague,然后您可以稍后再参考。

答案 1 :(得分: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
    }
}