Error while removing story board in 'swift' project. Error : "fatal error: unexpectedly found nil while unwrapping an Optional value"
Error while removing story board in 'swift' project. Error : "fatal error: unexpectedly found nil while unwrapping an Optional value"
我一直在学习 Swift 语言,因为我对 Objective-C 有一定的了解。我需要从我的 Swift 项目中删除故事板。我删除了故事板文件,删除了相应的 plist 键,添加了带有 XIB 的新视图控制器,并在应用程序委托中添加了以下代码:
var window: UIWindow?
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
// Override point for customization after application launch.
window = UIWindow(frame: UIScreen.mainScreen().bounds)
if let window = window {
window.backgroundColor = UIColor.whiteColor()
window.rootViewController = FirstViewController()
window.makeKeyAndVisible()
}
return true
}
我向 FirstViewController 的 XIB 添加了单个标签,还添加了适当的自动布局约束。
问题是,尽管正在调用 FirstViewController 的 viewDidLoad
,但我看不到标签。后来,我将 IBOutlet
添加到标签中,并通过以下代码以编程方式在 viewDidLoad
中设置其文本:
lblHello!.text = "Hello !!!"
在这个阶段,我收到错误:
"fatal error: unexpectedly found nil while unwrapping an Optional
value"
我已经交叉检查了 File's owner
和其他 IBOutlet
中的所有内容。我没有发现任何遗漏。
如果我的愚蠢错误遗漏了什么,请告诉我。对于这种情况,我还需要做些什么吗?
这是我的代码片段,它正在运行
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
// Override point for customization after application launch.
self.window = UIWindow(frame: UIScreen.mainScreen().bounds)
self.window!.backgroundColor = UIColor.whiteColor()
self.window!.rootViewController = ViewController()
self.window!.makeKeyAndVisible()
return true
}
和viewDidLoad()
共FirstViewController.swift
class ViewController: UIViewController {
@IBOutlet var lblTitle:UILabel?
//MARK: - View lifecycle
override func viewDidLoad() {
super.viewDidLoad()
self.lblTitle!.text = "Hello....!!!"
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
我一直在学习 Swift 语言,因为我对 Objective-C 有一定的了解。我需要从我的 Swift 项目中删除故事板。我删除了故事板文件,删除了相应的 plist 键,添加了带有 XIB 的新视图控制器,并在应用程序委托中添加了以下代码:
var window: UIWindow?
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
// Override point for customization after application launch.
window = UIWindow(frame: UIScreen.mainScreen().bounds)
if let window = window {
window.backgroundColor = UIColor.whiteColor()
window.rootViewController = FirstViewController()
window.makeKeyAndVisible()
}
return true
}
我向 FirstViewController 的 XIB 添加了单个标签,还添加了适当的自动布局约束。
问题是,尽管正在调用 FirstViewController 的 viewDidLoad
,但我看不到标签。后来,我将 IBOutlet
添加到标签中,并通过以下代码以编程方式在 viewDidLoad
中设置其文本:
lblHello!.text = "Hello !!!"
在这个阶段,我收到错误:
"fatal error: unexpectedly found nil while unwrapping an Optional value"
我已经交叉检查了 File's owner
和其他 IBOutlet
中的所有内容。我没有发现任何遗漏。
如果我的愚蠢错误遗漏了什么,请告诉我。对于这种情况,我还需要做些什么吗?
这是我的代码片段,它正在运行
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
// Override point for customization after application launch.
self.window = UIWindow(frame: UIScreen.mainScreen().bounds)
self.window!.backgroundColor = UIColor.whiteColor()
self.window!.rootViewController = ViewController()
self.window!.makeKeyAndVisible()
return true
}
和viewDidLoad()
共FirstViewController.swift
class ViewController: UIViewController {
@IBOutlet var lblTitle:UILabel?
//MARK: - View lifecycle
override func viewDidLoad() {
super.viewDidLoad()
self.lblTitle!.text = "Hello....!!!"
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}