iPhone - إطلاق مختارين من فئة مختلفة
-
30-09-2019 - |
سؤال
أرغب في إعادة تحميل طريقة عرض جدول موجودة في فئة أخرى تسمى "WriteIt_MobileAppDelegate" من إحدى فئتي الأخرى التي تسمى "الخصائص". لقد حاولت القيام بذلك عبر فئة NSNotificationCenter - يتم استدعاء السجل ولكن لا يتم تحديث الجدول أبدًا.
الخصائص.
[[NSNotificationCenter defaultCenter] postNotificationName:@"NameChanged"
object:[WriteIt_MobileAppDelegate class]
userInfo:nil];
writeit_mobileAppDelegate.M
-(void) owakefromnib {
[nsnotificationcenter defaultCenter] addobserver: محدد ذاتي: selector (RELOADITPROPERTIES :) الاسم:@"namechanged" الكائن: self] ؛
}
- (void) reloadItProperties: (NSNotification *)notification {
NSLog(@"Reloading Data"); //this gets called
[[self navigationController] dismissModalViewControllerAnimated:YES];
[self.navigationController popToRootViewControllerAnimated:YES];
[self.tblSimpleTable reloadData];
[self.tblSimpleTable reloadSectionIndexTitles];
// but the rest doesn't
}
ماذا أفعل خطأ هنا؟
المحلول
يبدو أنك تستخدم object
معلمة خاطئة:
addobserver: المحدد: الاسم: كائن:
الإخطار
الكائن الذي يريد الإخطارات التي يريدها المراقب تلقيها ؛
أي أنه يتم تسليم الإشعارات التي أرسلها هذا المرسل فقط إلى المراقب. إذا قمت بتمرير NIL ، فإن مركز الإخطار لا يستخدم مرسل الإخطار لتقرير ما إذا كان سيتم تسليمه إلى المراقب.