Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c sender.identifier isEqualToString_Objective C_Xcode - Fatal编程技术网

Objective c sender.identifier isEqualToString

Objective c sender.identifier isEqualToString,objective-c,xcode,Objective C,Xcode,我有两个模态控制器,每个控制器的顶部导航栏上都有关闭按钮。 我想在主视图控制器中截取正确的关闭按钮。 不幸的是,这段代码不起作用,为什么 - (IBAction)close:(UIStoryboardSegue *)sender { if ([sender.identifier isEqualToString: @"FirstModalClose"]) { NSLog(@"FirstModalClose"); } if ([sende

我有两个模态控制器,每个控制器的顶部导航栏上都有关闭按钮。 我想在主视图控制器中截取正确的关闭按钮。 不幸的是,这段代码不起作用,为什么

   - (IBAction)close:(UIStoryboardSegue *)sender {

      if ([sender.identifier isEqualToString: @"FirstModalClose"]) {
        NSLog(@"FirstModalClose");
     }

       if ([sender.identifier isEqualToString: @"SecondModalClose"]) {
        NSLog(@"SecondModalClose");
     }
}

实际上,类型
iAction
表明此方法是由GUI元素触发的(如果有的话),而不是由segue触发的。因此,发送方可能是
UIControl
而不是
UIStoryboardSegue


也许您需要使用
UIViewController
的方法
-(void)prepareforsgue:(UIStoryboardSegue*)segue sender:(id)sender
。在这里,您可以同时获得两个选项:发送方和segue。

实际上,类型
iAction
表明此方法是由GUI元素触发的(如果有的话),而不是segue。因此,发送方可能是
UIControl
而不是
UIStoryboardSegue


也许您需要使用
UIViewController
的方法
-(void)prepareforsgue:(UIStoryboardSegue*)segue sender:(id)sender
。在这里,您可以同时获得两个选项:发送方和序列。

我只需在适当的字段中插入FirstModalClose和SecondModalClose:( 我将第一个ModalClose和第二个ModalClose插入到情节提要序列中,而不是在情节提要展开序列中。
现在所有功能都正常工作。

我只需在适当的字段中插入FirstModalClose和SecondModalClose:( 我将第一个ModalClose和第二个ModalClose插入到情节提要序列中,而不是在情节提要展开序列中。
现在一切正常。

当我在第一个模态控制器上单击“关闭”时,它不会写入NSLog FirstModalClose;当我在第二个模态控制器上单击“关闭”时,它不会写入NSLog FirstModalClose。它是否进入了该方法?关闭按钮是否工作?您是否在该方法中使用了断点并检查了发送者是什么问题是,您发布的代码没有问题,所以问题一定出在其他地方-要么您没有在segue上设置标识符,要么您没有正确连接按钮。从问题中的信息不可能知道。最好通过按钮的tag属性来识别按钮。您可以像button.ta一样分配它g=100。我添加了一些断点,当单击2 close按钮时,我进入iAction。不幸的是,我没有进入2 if语句。只是澄清一下:我想从2模式视图返回到第一个控制器。当我单击close on first ModalClose时,它不会写入NSLog FirstModalClose,当我单击close in s时Second modal controller它没有在NSLog Second ModalClose中写入它是否进入了该方法?close按钮是否工作?您是否在该方法中使用了断点并检查了发送者是什么?问题是,您发布的代码没有任何问题,因此问题一定出在其他地方-或者您没有在您的服务器上设置标识符segue或您没有正确连接按钮。无法从问题中的信息中了解。最好通过按钮的标记属性来识别按钮。您可以像button.tag=100那样分配它。我添加了一些断点,当单击2 close按钮时,我进入iAction。不幸的是,我没有进入2 if语句。只是没有o澄清:我想从2模式视图返回到第一个控制器。所以我不必将模式视图(导航栏)中的关闭按钮连接到我的第一个视图控制器?我已经读到,每次我需要放松时,我总是添加以下代码—(IBAction)close:(UIStoryboardSegue*)sender{}我真傻!我在故事板序列中插入名字FirstModalClose和SecondModalClose,而不是在故事板展开序列中。这样我就不必将模式视图(导航栏)中的关闭按钮连接到我的第一个视图控制器?我读到,每次我需要展开时,我总是添加以下代码—(iAction)close:(UIStoryboardSegue*)发件人{}我真傻!我在情节提要序列中插入名字FirstModalClose和SecondModalClose,而不是在情节提要展开序列中。