Avatar ·

كيفية استخدام 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؟ أظهر لي،