Я новичок в Swift, так что извините за мое невежество.
У меня есть это перечисление:
public enum ConnectionResult {
case values(state: MCSessionState, peerID:MCPeerID)
}
Я положил это в словарь
let dict = ["values" : ConnectionResult.values(state:state, peerID:peerID)]
I отправить это сообщение через уведомление
NotificationCenter.default.post(name: .adjustState, object: dict)
Когда я получу уведомление, я хочу получить значения state
и peerID
обратно
@objc private func onAdjustState(_ notification:Notification) {
if let dict = notification.object as? Dictionary<String,Any>,
let result = dict["values"] as? ConnectionResult {
}
Как мне получить состояние и peerID из результата?
Я пытался
let state = result.values.state as? MCSessionState
Я пытался
let (state, peerID) = result // the thing is a tuple, right?
без успеха ...
Кстати, Есть ли способ отправить этот объект ConnectionResult
, который является кортежем, непосредственно в уведомлении вместо использования словаря?