相关疑难解决方法(0)

Swift中的通知在字典中返回UserInfo

我有一个返回字典的通知,就像在objective-c中一样,但我没有得到我期望的结果.

这是发布通知的方法.它实际上返回了日期选择器的结果(日期).

@IBAction func dateOfBirthAction(sender: AnyObject) {

    println("Date: \(dateOfBirthPicker.date)")

    var selectedDateDictionary = [dateOfBirthPicker.date, "dateOfBirth"]

    NSNotificationCenter.defaultCenter().postNotificationName("dateOfBirth", object: nil, userInfo: [NSObject():selectedDateDictionary])

}
Run Code Online (Sandbox Code Playgroud)

这是通知观察员:

override func viewDidLoad() {
    super.viewDidLoad()

    NSNotificationCenter.defaultCenter().addObserver(self, selector: "dateOfBirth:", name: "dateOfBirth", object: nil)

}

func dateOfBirth(notification: NSNotification) {

    println("userInfo: \(notification.userInfo)")

    let returnedDateOfBirth = notification.userInfo!["dateOfBirth"] as NSString
    println("returnedDateOfBirth: \(returnedDateOfBirth)")

    playerInformationDateOfBirthLabel.text  = returnedDateOfBirth
}
Run Code Online (Sandbox Code Playgroud)

我在线路上收到以下错误 let returnedDateOfBirth:String = notification.userInfo["dateOfBirth"]

userInfo: Optional([<NSObject: 0x7fb15a44a880>: <_TtCSs23_ContiguousArrayStorage00007FB15A4D4380 0x7fb15a4206a0>(
2014-09-18 12:07:07 +0000,
dateOfBirth
)
])
fatal error: unexpectedly found nil while unwrapping an Optional value
Run Code Online (Sandbox Code Playgroud)

完整的解决方案

@IBAction …
Run Code Online (Sandbox Code Playgroud)

notifications swift xcode6 ios8

22
推荐指数
1
解决办法
2万
查看次数

标签 统计

ios8 ×1

notifications ×1

swift ×1

xcode6 ×1