Ios 今天扩展与NSNotificationCenter崩溃
我正在创建一个today扩展,它可以增大/缩小以节省空间。在通知中心,但我与NSNotificationCenter有问题。如果调用visibility函数,视图会正常收缩和增长,但是如果我尝试发布通知,扩展就会失败,并且至少第一次尝试重新加载,第二次扩展只是说无法加载。为什么会这样Ios 今天扩展与NSNotificationCenter崩溃,ios,swift,nsnotificationcenter,today-extension,Ios,Swift,Nsnotificationcenter,Today Extension,我正在创建一个today扩展,它可以增大/缩小以节省空间。在通知中心,但我与NSNotificationCenter有问题。如果调用visibility函数,视图会正常收缩和增长,但是如果我尝试发布通知,扩展就会失败,并且至少第一次尝试重新加载,第二次扩展只是说无法加载。为什么会这样 var NSNotificationDidChoose = "NSNotificationDidChoose" @IBOutlet var tableView: UITableView! @IBOu
var NSNotificationDidChoose = "NSNotificationDidChoose"
@IBOutlet var tableView: UITableView!
@IBOutlet var activityIndicator: UIActivityIndicatorView!
@IBAction func shrink(sender: AnyObject) {
//visibility(["bool":false])works fine here
NSNotificationCenter.defaultCenter().postNotificationName(NSNotificationDidChoose, object: nil, userInfo: ["bool":false])
//Crashes and the extension reloads
}
@IBAction func unshrink(sender: AnyObject) {
//visibility(["bool":true]) works fine here
NSNotificationCenter.defaultCenter().postNotificationName(NSNotificationDidChoose, object: nil, userInfo: ["bool":true])
//Crashes and the extension reloads
}
@IBOutlet var buttonview: UIView!
func visibility(boole:[NSObject:AnyObject]) {
var bool = boole["bool"] as Bool
println(bool)
tableView.hidden = !bool
activityIndicator.hidden = !bool
if bool {
self.preferredContentSize = CGSize(width: 350, height: 420)
} else {
self.preferredContentSize = CGSize(width: 350, height: buttonview.frame.height+25)
}
}
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(true)
NSNotificationCenter.defaultCenter().addObserver(self, selector: "visibility:", name: NSNotificationDidChoose, object: nil)
}
通知方法的参数为NSNotification。试试这个
func visibility(notif: NSNotification) {
let boole = notif.userInfo!
var bool = boole["bool"] as Bool
....
}