Avatar ·

Como usar corretamente o NSNotificationCenter (addObserver) em Swift: entendendo a sintaxe e a remoção

Olá! Comecei a estudar Swift e estou tentando implementar a troca de dados entre dois ViewControllers usando NSNotificationCenter. Em Objective-C, vi esta sintaxe: ```objc [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(handleNotification:) name:@"MyNotification" object:nil]; ``` Mas em Swift fiquei confuso. Tento escrever assim: ```swift NSNotificationCenter.defaultCenter().addObserver(self, selector: "handleNotification:", name: "MyNotification", object: nil) ``` Mas o Xcode reclama do seletor — diz que é preciso usar #selector. Reescrevi: ```swift NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(handleNotification), name: "MyNotification", object: nil) ``` Mas agora não entendo como declarar o método handleNotification corretamente. Ele deve receber um Notification? E também: ouvi dizer que é obrigatório se desinscrever das notificações, senão haverá vazamento de memória. Como fazer isso corretamente em Swift? Mostre,