【发布时间】:2015-11-07 07:32:37
【问题描述】:
所以我正在制作一个 iOS 应用程序,它允许您在 TextBox 中输入文本,然后有一个按钮将在标签上显示“文本”,并且标签上的“文本”将显示在通知中心,在一个小部件上,但是出了点问题因为每次我运行应用程序时它都会失败并把我扔到AppDelegate.Swift 并突出显示这个特定部分:“class AppDelegate: UIResponder, UIApplicationDelegate {”
出现“线程 1:信号 SIGABRT”的错误
我不知道还能做什么;(请帮忙!!
这是 ViewController.Swift 代码:
import UIKit
class ViewController: UIViewController {
@IBOutlet var UserInput: UITextField!
@IBOutlet var TextDisplay: UILabel!
@IBAction func DisplayButton(sender: AnyObject) {
let Text:String = UserInput.text!
if let Text = Int(Text) {
print("Computer says no!")
} else {
TextDisplay.text = (Text)
}
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
let SharedDefaults = NSUserDefaults(suiteName: "group.St33v3n.TextOnWidget")
SharedDefaults?.setObject(UserInput, forKey: "StringKey")
SharedDefaults?.synchronize()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
这是 TodayView 控制器代码(来自小部件的代码):
import UIKit
import NotificationCenter
class TodayViewController: UIViewController, NCWidgetProviding {
@IBOutlet var TextToWidget: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view from its nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func widgetPerformUpdateWithCompletionHandler(completionHandler: ((NCUpdateResult) -> Void)) {
let ShareDefaults = NSUserDefaults(suiteName:"group.St33v3n.TextOnWidget")
self.TextToWidget.text = ShareDefaults?.objectForKey("StringKey") as? String
completionHandler(NCUpdateResult.NewData)
}
}
【问题讨论】:
-
控制台打印什么?也许像这样:
unexpectadly found nil while unwrapping an optional value?