29 lines
605 B
Swift
29 lines
605 B
Swift
//
|
|
// NibLoader.swift
|
|
// BlockEQ
|
|
//
|
|
// Created by Satraj Bambra on 2018-03-09.
|
|
// Copyright © 2018 Satraj Bambra. All rights reserved.
|
|
//
|
|
|
|
import Foundation
|
|
|
|
struct NibLoader<T> {
|
|
let nibName: String
|
|
|
|
func loadView() -> T {
|
|
return loadView(owner: nil)
|
|
}
|
|
|
|
func loadView(owner: AnyObject?) -> T {
|
|
let bundle = Bundle.main
|
|
let views = bundle.loadNibNamed(nibName, owner: owner, options: nil)
|
|
|
|
guard let view = views?.first! as? T else {
|
|
fatalError("Incorrect view type provided")
|
|
}
|
|
|
|
return view
|
|
}
|
|
}
|