SMQuickSegue
SMQuickSegue 是为 UIViewControllers 提供的类别,简化了在使用 storyboard 代码时,从源视图控制器到目标视图控制器设置参数的过程。该库的主要目标是在 -prepareForSegue 中消除条件代码,通常在这个方法中在自定义参数设置之前检查目标视图控制器类,并采取sender(发起了切换的发送者)携带所有参数的不同方法。当一个视图控制器有多个输出切换时,这非常有用。
用法
我们可以想到的最简单场景是包含可见导航栏的导航控制器中的两个嵌入视图控制器的故事板。在这个第一个视图控制器(作为 FirstViewController 进行子类化),我们放置一个 UIButton 并创建一个 IBOutlet 属性,名为 nextButton。然后,从按钮创建到下一个视图控制器的推送切换。我们的目标是设置第二个视图控制器标题属性的自定义值(比如说 "NEW TITLE!"),而不是在 storyboard 中设置它。这将改变导航栏的标题。然后在 viewDidLoad 添加以下内容
//FirstViewController.m
- (void) viewDidLoad {
[super viewDidLoad];
[self.nextButton setSegueParameters:@{@"title":@"NEW TITLE!"}];
}
就这样!这个例子当然很简单(并且有点荒谬),但你可以将所有需要设置的值(以及 keypaths)放入 segueParameters,然后自动在目标视图控制器中设置它们。更多的例子将很快推出,同时您可以查看示例项目。
要运行示例项目;首先克隆仓库,然后从项目目录运行 pod install
。
需求
SMQuickSegue需要iOS 5.0及以上版本,基于Storyboard的ARC项目。
安装
SMQuickSegue可以通过CocoaPods使用,要安装它,只需在Podfile中添加以下行(cocoapods的pull request即将到来):
pod 'SMQuickRestKit',:git => 'https://github.com/stefanomondino/SMQuickRestKit.git', :branch => 'master'
作者
Stefano Mondino, [email protected]
许可
SMQuickSegue遵循MIT许可。有关更多信息,请参阅LICENSE文件。