UILifeCycleClosure 1.0.0

UILifeCycleClosure 1.0.0

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布最后发布2015年10月

ukitaka 维护。



 
依赖于
ISMethodSwizzling>= 0
方面>= 0
 

  • ukitaka

使用方法

afterViewDidLoad / afterAwakeFromNib

IBOutlets 在视图加载过程中初始化,因此在您尝试访问它们时不可访问。

UIViewController 中,afterViewDidLoad 保证在视图加载后立即调用块。如果 isViewLoaded 为 true,则立即调用块。

@IBOutlet weak var label: UILabel!

func configLabel(text: String) {
    afterViewDidLoad {
        self.label.text = text
    }
}

afterViewDidLoadSafety 可用于更安全地执行。

guard let _ = try? afterViewDidLoadSafety({ self.label.text = text }) else {
    preconditionFailure()
}

同样,afterAwakeFromNib 在 UIView 中也是可用的。

func configLabel(text: String) {
    afterAwakeFromNib {
        self.label.text = text
    }
}

afterViewDidAppear

afterViewDidLoad 保证在调用 viewDidAppear: 后将调用块。例如,如果您在 viewDidAppear: 之前调用 presentViewController,则在 Xcode 中将显示警告 "不建议在分离视图控制器上呈现视图控制器…"。

afterViewDidAppear 可以按如下方式使用

afterViewDidAppear {
    self.presentViewController(vc, animated: true, completion: nil)
}

要求

  • iOS8.0+
  • Xcode7.0+

安装

UILifeCycleClosure 通过 CocoaPods 提供。要安装它,只需将以下行添加到您的 Podfile:

pod "UILifeCycleClosure"

作者

ukitaka,

许可证

UILifeCycleClosure 在 MIT 许可下提供。有关更多信息,请参阅 LICENSE 文件。