我正在尝试检索当前安排的UILocalNotifications。当我尝试从通知中隐式解包userInfo时出现错误。错误发生在
行 if let info = notification.userInfo
错误显示“无法找到接受所提供参数的'userInfo'的重载”
我也尝试用
进行可选链接if let info = notification.userInfo?["Id"]
我收到一条错误,即userInfo不接受下标。
当我在userinfo with
之后使用显式解包时,它有效if let info = notification.userInfo!
但我想避免这样做。任何帮助都会很棒。完整的方法如下。
func test()
{
let application = UIApplication.sharedApplication()
let scheduledNotifications = application.scheduledLocalNotifications
for notification in scheduledNotifications
{
println( "found it" )
if let info = notification.userInfo
{
println( "in")
} else {
// no userInfo dictionary present
println( "else")
}
}
}
答案 0 :(得分:1)
application.scheduledLocalNotifiactions
提供了一个AnyObject
数组,因此您缺少一个类型转换为UILocalNotification
let scheduledNotifications = application.scheduledLocalNotifications as [UILocalNotification]