赛格存在吗?

Posted

技术标签:

【中文标题】赛格存在吗?【英文标题】:Does Segue Exist? 【发布时间】:2012-04-02 21:56:40 【问题描述】:

有谁知道是否有办法确定是否存在具有特定名称的segue?或者,如果有办法获取 ios 知道的所有命名 segue 的列表

【问题讨论】:

【参考方案1】:

不,您的方法仅检测何时触发特定的 segue。 但是您无法通过尝试调用它的另一种方式来测试是否存在segue。 似乎唯一的方法是使用 @try @catch :

@try 
    [self performSegueWithIdentifier:@"Replace_Connected" sender:self];

@catch (NSException *exception) 
    NSLog(@"%@  no segue with identifier 'Replace_Connected' : %@", [self description], exception);

@finally     

【讨论】:

【参考方案2】:

我建议你提交一个错误。故事板清楚地知道来自给定场景的所有转场:

<viewController id="2" customClass="ViewController" sceneMemberID="viewController">
    <view key="view" contentMode="scaleToFill" id="3">
        <rect key="frame" x="0.0" y="20"  />
        <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
        <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
    </view>
    <connections>
        <segue destination="t3N-Fe-gqq" kind="modal" identifier="myCoolSegue" id="AYQ-C4-4vO"/>
    </connections>
</viewController>

那么为什么不允许视图控制器实例询问这些信息呢?此外,视图控制器具有 storyboard 属性,那么为什么它没有 segues 属性?我认为您有正当理由提出功能请求。

【讨论】:

【参考方案3】:

您可以使用prepareForSegue 方法检查是否存在Segue:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender

    // Make sure we are dealing with the proper Segue
    if ([segue.identifier isEqualToString:@"MySegueID"]) 
        // Exists, do something
    

如果有办法列出所有 Segue,我不知道,也没有在文档中看到。

【讨论】:

以上是关于赛格存在吗?的主要内容,如果未能解决你的问题,请参考以下文章

西安IT卖场观察报告之赛格数码佰腾数码广场

深圳赛格大厦上演楼摆摆——挖矿大军,震动300米高楼?

比特币矿机重镇华强北地标性建筑赛格大厦发生摇晃!专家分析:目前来看是共振现象

挖矿?地震?健身?这些很可能不是造成深圳赛格大厦摇晃的原因!

赛格大厦十分钟晃出华强北的生意圈,挖矿人除了跑得快也有信仰

深赛格大厦晃动,有人说因为挖矿