美文网首页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