كيفية استخدام NSNotificationCenter (addObserver) بشكل صحيح في Swift: تحليل الصياغة وإلغاء الاشتراك
مرحبًا! بدأت للتو في تعلم Swift وأحاول تنفيذ تبادل البيانات بين ViewController من خلال NSNotificationCenter. في Objective-C رأيت هذه الصياغة:
```objc
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(handleNotification:) name:@"MyNotification" object:nil];
```
لكن في Swift شعرت بالارتباك. أحاول كتابتها هكذا:
```swift
NSNotificationCenter.defaultCenter().addObserver(self, selector: "handleNotification:", name: "MyNotification", object: nil)
```
لكن Xcode يشتكي من selector — يقول إنه يجب استخدام #selector. أعدت كتابتها:
```swift
NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(handleNotification), name: "MyNotification", object: nil)
```
لكن الآن لا أفهم كيف أعلن عن method handleNotification بشكل صحيح. هل يجب أن يستقبل Notification؟ وأيضًا: سمعت أنه يجب إلغاء الاشتراك من الإشعارات وإلا سيحدث تسرب للذاكرة. كيف أفعل ذلك بشكل صحيح في Swift؟ أظهر لي،