Standard
let storyboard = UIStoryboard(name: "Storyboard", bundle: nil)
let viewController = storyboard.initialViewController() as! ViewController
Use ResourceKit
let viewController = ViewController.initialViewController()
Standard
let storyboard = UIStoryboard(name: "Storyboard", bundle: nil)
let viewController = storyboard.instantiateViewController(withIdentifier: "XXXX") as! ViewController
Use ResourceKit
let viewController = ViewController.instanceFromStoryboard()
standard
let storyboard = UIStoryboard(name: "Storyboard", bundle: nil)
let viewController1 = storyboard.instantiateViewController(withIdentifier: "XXXX") as! ViewController
let viewController2 = storyboard.instantiateViewController(withIdentifier: "YYYY") as! ViewController
Use ResourceKit
let viewController1 = ViewController.instanceFromStoryboardXXXX()
let viewController2 = ViewController.instanceFromStoryboardYYYY()
standard
...
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "Open" {
// something...
}
}
...
performSegueWithIdentifier("Open", sender: sender)
Use ResourceKit
// In CustomViewController class.
...
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == CustomViewController.Segue.open {
// something...
}
}
...
performSegueOpen() // or performSegueOpen(sender: AnyObject?)
standard
let nib = UINib(nibName: "TableViewCell", bundle: nil)
let cell nib.instantiate(withOwner: nil, options: nil)[0] as! TableViewCell
Use ResourceKit
let customView = CustomView.Xib.view()
standard
let nib = UINib(nibName: "CollectionViewCell", bundle: nil)
collectionView?.registerNib(nib, forCellWithReuseIdentifier: "ReusableIdentifier")
let cell = collectionView.dequeueReusableCellWithReuseIdentifier("ReusableIdentifier", forIndexPath: indexPath) as! CollectionViewCell
Use ResourceKit
collectionView?.registerNib(xib: CollectionViewCell.Xib.self)
let cell = collectionView.dequeueReusableCellWithReuseIdentifier(CollectionViewCell.Xib().name, forIndexPath: indexPath) as! CollectionViewCell
standard
let cell = collectionView.dequeueReusableCellWithReuseIdentifier("ReusableIdentifier", forIndexPath: indexPath) as! CollectionViewCell
Use ResourceKit
let cell = collectionView.dequeueReusableCellWithReuseIdentifier(CollectionViewCell.Reusable.ReuseIdentifier, forIndexPath: indexPath) as! CollectionViewCell
Use Asset Catalog
let image = UIImage.Asset.image_name
Not use Asset Catalog
let image = UIImage.Resource.image_name
let string = String.Localized.hello_world
// == NSLocalizedString("hello world", comment: "")