理解performSegueWithIdentifier
有人比我更performSegueWithIdentifier:sender:
解释performSegueWithIdentifier:sender:
对我? 我需要切换视图(和类),并携带一些NSStrings和ID到该视图的类。 我想知道这是否可能与执行performSegueWithIdentifier:sender:
谢谢!
首先,你必须在故事板中设置segue 并给它适当的标识符 。 (点击segue(左侧面板),然后点击Attributes(右侧面板)。
然后,您可以将其链接到故事板中button或表格行的select,也可以使用performSegueWithIdentifier:sender:
在代码中调用它performSegueWithIdentifier:sender:
在此之后,您的视图控制器将发送prepareForSegue:sender:
消息。 您可以在视图控制器子类中重写此方法,并可以按如下方式configuration目标视图控制器:
TargetViewController *targetVC = (TargetViewController*)segue.destinationViewController; targetVC.string1 = string1;
等等。 此方法中的sender
将是您在原始方法调用中用作sender
的对象。
大多数游戏是由于某些用户交互而自动启动的。 例如,如果你有一个从一个button连接到故事板中的场景的segue,当点击该button时,segue将自动启动。
有时,以编程方式触发segue是有意义的 – 例如,当用户赢得一轮游戏时,显示一个High Scores场景。 在故事板本身没有办法expression胜利的概念,所以你可以创build一个segue,给它分配一个标识符,然后调用-performSegueWithIdentifier:sender:
在运行时。
UIViewController上的其他segue相关方法, -prepareForSegue:sender:
是您应该重写以在目标视图控制器上执行任何自定义的方法。
在prepareForSegue:sender:
你有机会configurationdestinationViewController
:这就是你需要传递数据的地方。 这在iOS的Cocoa应用程序能力中有讨论。
今天我遇到了performSegueWithIdentifier的问题:由于没有在我的URL会话上设置一个委托队列,所以没有执行。
所以,任何机会,检查你是否创build你的URLSession实际上设置一个委托队列,否则URLSession将创build它自己的。
urlSession = [NSURLSession sessionWithConfiguration:sessionConfigObject delegate:self delegateQueue:[NSOperationQueue mainQueue]];
我在这里提到这一点,因为我经常看到URLSession处理结束了调用某种UI相关的活动。 并且执行Segue需要在主体上执行,否则它不会执行任何操作。
- iOS 6中的标签alignment – 不build议使用UITextAlignment
- Main.storyboard文件需要Xcode 8.0或更高版本
- 从iPhone转发地理编码
- 检测NSString的语言
- iOS 5最佳实践(发布/保留?)
- 从枚举types'枚举CGImageAlphaInfo'隐式转换为不同的枚举types'CGBitmapinfo'(又名)'枚举CGBitmapInfo')
- 为Today Widget扩展configurationconfiguration文件
- 检测到一个MKPolygon的一个点打破了iOS7(CGPathContainsPoint)
- 如何检查NSArray在iOS中为空或空?