测试已测试 | ✗ |
语言语言 | Obj-CObjective C |
许可证 | 定制 |
发布最新版本 | 2015年9月 |
由Dustin Bachrach维护。
我们经常希望构建我们在 Storyboards 中设计的 View Controllers。如果您想要加载这些 View Controllers,您需要将创建 View Controller 的代码与知道哪个 Storyboard 包含该 View Controller 的代码进行紧密耦合。使用 HNDCreatableViewController,我们直接在 View Controller 中存储这些信息,这样应用的其他部分就可以简单地 创建
一个 View Controller,而不用知道它是由哪个 Storyboard 实现的。
考虑一个 MyAwesomeViewController
,它是设计在 Awesome.storyboard
中,View Controller 标识符为 TotesAwesome
。
我们定义我们的 MyAwesomeViewController
以符合 HNDCreatableViewController
#import <HNDCreatableViewController/HNDCreatableViewController.h>
@interface MyAwesomeViewController : UIViewController <HNDCreatableViewController>
@end
然后我们实现 MyAwesomeViewController
并定义其 Storyboard 和 View Controller 标识符
#import <AtSugar/AtSugar.h>
#import <AtSugarMixin/ASMixin.h>
@implementation MyAwesomeViewController
@mixin (MyAwesomeViewController, HNDCreatableViewControllerMixin)
@declare_class_property (viewControllerStoryboard, @"Awesome")
@declare_class_property (viewControllerIdentifier, @"TotesAwesome")
@end
我们使用 AtSugar 和 AtSugarMixin 使实现快速简洁。
就是这样。现在如果您要从代码的另一个地方创建一个 MyAwesomeViewController
,您只需这样做
MyAwesomeViewController* vc = [MyAwesomeViewController create];
[self presentViewController:vc animated:YES completion:nil];
HNDCreatableViewController 通过 CocoaPods 提供。要安装它,只需将以下行添加到您的 Podfile 中。注意:我们建议使用 AtSugar 和 AtSugarMixin,因此也将其添加到您的 Podfile 中。
pod "HNDCreatableViewController"
pod "AtSugar"
pod "AtSugarMixin"
Dustin Bachrach, [email protected]
HNDCreatableViewController 可在 Apache License 2.0 许可下使用。有关更多信息,请参阅 LICENSE 文件。