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,