Creating a new project in XCode 6 doesn\'t allow to disable Storyboards. You can only select Swift or Objective-C and to use or not Core Data.
I tried deleting the s
All it takes for not using Storyboards for the rootViewController
:
1· Change AppDelegate.swift
to:
import UIKit
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey : Any]? = nil) -> Bool {
window = UIWindow(frame: UIScreen.main.bounds)
if let window = window {
window.backgroundColor = UIColor.white
window.rootViewController = ViewController()
window.makeKeyAndVisible()
}
return true
}
}
2· Create a ViewController
subclass of UIViewController
:
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
view.backgroundColor = UIColor.blue
}
}
3· If you created the project from an Xcode template:
"Main storyboard file base name"
from Info.plist
.Main.storyboard
.As you can see in the first code snippet, instead of implicitly unwrapping an optional, I rather like the if let
syntax for unwrapping the optional window
property. Here I'm using it like if let a = a { }
so that the optional a
becomes a non-optional reference inside the if
-statement with the same name – a
.
Finally self.
is not necessary when referencing the window
property inside it own class.