Skip to content

Latest commit

 

History

History
128 lines (104 loc) · 3.16 KB

Examples.md

File metadata and controls

128 lines (104 loc) · 3.16 KB

ViewController from Storyboard

initialViewController

Standard

let storyboard = UIStoryboard(name: "Storyboard", bundle: nil)
let viewController = storyboard.initialViewController() as! ViewController

Use ResourceKit

let viewController = ViewController.initialViewController()

instance from storyboard

Standard

let storyboard = UIStoryboard(name: "Storyboard", bundle: nil)
let viewController = storyboard.instantiateViewController(withIdentifier: "XXXX") as! ViewController

Use ResourceKit

let viewController = ViewController.instanceFromStoryboard()

if same class in instance from storyboard

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()

Use segue any UIViewController sub class

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?)

Nib

create instance from .xib

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()

for tableview or collectionview

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

Reusalbes

use storyboard

standard

let cell = collectionView.dequeueReusableCellWithReuseIdentifier("ReusableIdentifier", forIndexPath: indexPath) as! CollectionViewCell

Use ResourceKit

let cell = collectionView.dequeueReusableCellWithReuseIdentifier(CollectionViewCell.Reusable.ReuseIdentifier, forIndexPath: indexPath) as! CollectionViewCell

UIImage

Use Asset Catalog

let image = UIImage.Asset.image_name

Not use Asset Catalog

let image = UIImage.Resource.image_name

LocalizedString

let string = String.Localized.hello_world
// == NSLocalizedString("hello world", comment: "")