2015-09-13 2 views
0

В Xcode 6, этот код работал отлично, но в Xcode 7GM, я получаю сообщение об ошибке, которое утверждает:Downcast ошибка в Xcode 7

потупив из «[UILocalNotification]? to '[UILocalNotification]' только разворачивает опции; Вы хотели использовать '!'?

Ошибка произошла для линии, где я поместил две звездочки. В Xcode также имеется небольшой красный треугольник под номером a части as!.

func removeItem(item: TodoItem) { 
    **for notification in (UIApplication.sharedApplication().scheduledLocalNotifications as! [UILocalNotification]) { // loop through notifications... 
     if (notification.userInfo!["UUID"] as! String == item.UUID) { // ...and cancel the notification that corresponds to this TodoItem instance (matched by UUID) 
      UIApplication.sharedApplication().cancelLocalNotification(notification) // there should be a maximum of one match on UUID 
      break 
     } 
    } 

ответ

0

В Xcode 6 scheduledLocalNotifications объявлен как [AnyObject]! (опущенными требуется).
В Xcode 7 scheduledLocalNotifications объявлен как [UILocalNotification]? (должно быть только развернутым)

Я рекомендую использовать дополнительные привязок

func removeItem(item: TodoItem) { 
    if let scheduledLocalNotifications = UIApplication.sharedApplication().scheduledLocalNotifications { 
    for notification in scheduledLocalNotifications { // loop through notifications... 
    if (notification.userInfo!["UUID"] as! String == item.UUID) { // ...and cancel the notification that corresponds to this TodoItem instance (matched by UUID) 
     UIApplication.sharedApplication().cancelLocalNotification(notification) // there should be a maximum of one match on UUID 
     break 
    } 
    } 
} 
+0

Это фик его! Спасибо огромное! – James

Смежные вопросы