NSNotificationCenter userInfo中的字典值类型

时间:2015-09-25 21:59:42

标签: swift nsdictionary nsnotificationcenter

实施下一个代码时:

sql = select([t.c.ID, t.c.OPIS, t.c.IDG, func.left(t.c.ID,2).label("Ident"), func.concat(func.left(t.c.ID,2), literal(" "), t.c.OPIS)]).where(t.c.ATRIBUT=="VPFA")

我收到了下一个错误:

func locationManager(manager: CLLocationManager!, didChangeAuthorizationStatus status: CLAuthorizationStatus) {

    NSNotificationCenter.defaultCenter().postNotificationName("gotAuthorization", object: nil, userInfo: ["status": status])

}

另一方面,如果我将状态更改为某个简单值(如字符串或整数),则一切正常。

cannot invoke 'postNotificationName' with argument list of type... 是枚举,最终是Int32。那么将它作为一个值给词典的问题又是什么呢?

我在这里缺少什么:\

1 个答案:

答案 0 :(得分:0)

参数采用[NSObject:AnyObject]的字典?并不意味着听起来像编译器,但Int32不符合AnyObject协议。它不会自动桥接到NSNumber,因此您需要进行转换。

["status": Int(status.rawValue)]