iPhone - Avvio selettori da una classe diversa
-
30-09-2019 - |
Domanda
Mi piacerebbe ricaricare una visualizzazione della tabella che si trova in un'altra classe denominata "WriteIt_MobileAppDelegate" da uno dei miei altre classi che si chiama "Proprietà". Ho provato a fare questo attraverso la classe NSNotificationCenter -. Il registro viene chiamato ma il tavolo non viene mai aggiornato
Properties.h:
[[NSNotificationCenter defaultCenter] postNotificationName:@"NameChanged"
object:[WriteIt_MobileAppDelegate class]
userInfo:nil];
WriteIt_MobileAppDelegate.m
- (void) {awakeFromNib
[[NSNotificationCenter defaultCenter] addObserver: auto selettore: @selector (reloadItProperties :) Nome: @ "NameChanged" oggetto: 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
}
Che cosa sto facendo male qui?
Soluzione
Sembra che si sta utilizzando il parametro object
sbagliato:
addObserver: selettore: nome: oggetto:
notificationSender
L'oggetto di cui notifiche l'osservatore vuole ricevere;
Cioè, solo le notifiche inviato da questo mittente vengono consegnati a l'osservatore. Se si passa a zero, il centro di notifica non utilizza un mittente di notifica per decidere se consegnarlo all'osservatore.