У меня есть код, который отправляет уведомление (где serialNumber является строкой):
var dataDict = Dictionary<String, String>()
dataDict["Identity"] = serialNumber
dataDict["Direction"] = "Add"
NSNotificationCenter.defaultCenter().postNotificationName("deviceActivity", object:self, userInfo:dataDict)
И код, который получает это уведомление:
func deviceActivity(notification: NSNotification) {
// This method is invoked when the notification is sent
// The problem is in how to access the Dictionary and pull out the entries
}
Я пробовал целый ряд кодов для этого, без успеха:
let dict = notification.userInfo
let dict: Dictionary<String, String> = notification.userInfo
let dict: Dictionary = notification.userInfo as Dictionary
И хотя некоторые из моих попыток удовлетворяют компилятору, ни один из них не дал реальных строк при попытке получить доступ к тому, что было извлечено как словарь:
let sn : String = dict["Identity"]!
let sn : String = dict.valueForKey("Identity") as String
let sn : String = dict.valueForKey("Identity")
Итак, вопрос заключается в следующем: как написать код Swift для извлечения объекта, в данном случае словаря, который был передан через уведомление, и получить доступ к составным частям этого объекта (в этом случае к ключам и значениям)?