从TextBox到Widget的文本?

时间:2015-11-07 07:32:38

标签: ios swift swift2 xcode7

所以我正在创建一个iOS应用程序,它允许您将文本输入到TextBox中,然后有一个Button将在标签上显示“Text”,并且标签上的“Text”将显示在通知中心,在小部件上,但出现问题因为每次我运行应用程序时它都会失败并引导我进入END{print""}并突出显示这个特定部分:“AppDelegate.Swift

错误显示“主题1:信号SIGABRT”

我不知道还能做什么;(请帮助!!

这是ViewController.Swift代码:

class AppDelegate: UIResponder, UIApplicationDelegate {

以下是TodayView控制器代码(小部件中的代码):

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.
    }


}

1 个答案:

答案 0 :(得分:1)

在第

SharedDefaults?.setObject(UserInput, forKey: "StringKey")

您正在传递UITextField对象,而不是文本。你应该使用

SharedDefaults?.setObject(UserInput.text, forKey: "StringKey")

我不确定这是否会导致崩溃,但无论如何都需要纠正;)