美文网首页swift学习之路
swift - 使用协议实现view的nib加载

swift - 使用协议实现view的nib加载

作者: 那就这样吧_ | 来源:发表于2017-06-08 18:52 被阅读0次
  • 创建一个 Swift File 文件实现 NibLoadable 协议
import UIKit

protocol NibLoadable {

}

extension NibLoadable where Self : UIView {
    static func loadFromNib(_ nibname : String? = nil) -> Self {
        let loadName = nibname == nil ? "\(self)" : nibname!
        return Bundle.main.loadNibNamed(loadName, owner: nil, options: nil)?.first as! Self
    }
}
  • 需要使用该协议的view需遵守该协议
import UIKit

class DemoView: UIView, NibLoadable {
    var name : String = ""
}
  • nib初始化方法
let demoView = DemoView.loadFromNib()
或
let demoView = DemoView.loadFromNib("DemoView")

相关文章

网友评论

    本文标题:swift - 使用协议实现view的nib加载

    本文链接:https://www.haomeiwen.com/subject/azutqxtx.html