Swift 3 控制器复用-convenience便利构造器

在Obj-C中,控制器复用一般可以这么写

.h文件中
typedef NS_ENUM(NSInteger, GapOrderType) {
    GapOrderTypeUnderWay = 1, // 进行中
    GapOrderTypeEnd,
    GapOrderTypePay
};
- (instancetype)initWithType:(GapOrderType)type;
.m文件中
- (instancetype)initWithType:(GapOrderType)type{
    if (self = [super init]) {
        _type = type;
    }
    return self;
}

在Swift中写法

public enum Verify {
    case underWay
    case end
}

// 列表
class OwnerVerifyListController: BaseController {

    fileprivate var type : Verify!
    var tableView = UITableView()

    override func viewDidLoad() {
        super.viewDidLoad()

        if type == Verify.underWay {
           title = "控制器1"
        }else{
           title = "控制器2"
        }
    }

    // 便利构造器
    convenience init(type: Verify){
        self.init()
        self.type = type
    }
}

用法示例,在父控制器中添加两个自控制器

fileprivate func addMyChild(){
        let underVc = OwnerVerifyListController(type: Verify.underWay)
        self.addChildViewController(underVc)
        
        let endVc = OwnerVerifyListController(type: Verify.end)
        self.addChildViewController(endVc)
 }

配图示例

demo.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,194评论 4 61
  • 黑客与画家 0. 译者序 《黑客:计算机革命的英雄》中提出的6条黑客价值观 使用计算机以及所有有助于了解这个世界本...
    雁宇阅读 3,523评论 0 2
  • 之字路 不相信 我的人生之路 前面会是悬崖 也不相信 我会倒在半道 一再地挣扎 为了下一刻 崛起 我相...
    渺渺量心阅读 1,248评论 0 6