Qualcuno può mostrarmi un esempio di oggetto Cocoa Obj-C, con una notifica personalizzata, come attivarlo, sottoscriverlo e gestirlo?Esempio di notifica personalizzata di cacao
risposta
@implementation MyObject
// Posts a MyNotification message whenever called
- (void)notify {
[[NSNotificationCenter defaultCenter] postNotificationName:@"MyNotification" object:self];
}
// Prints a message whenever a MyNotification is received
- (void)handleNotification:(NSNotification*)note {
NSLog(@"Got notified: %@", note);
}
@end
// somewhere else
MyObject *object = [[MyObject alloc] init];
// receive MyNotification events from any object
[[NSNotificationCenter defaultCenter] addObserver:object selector:@selector(handleNotification:) name:@"MyNotification" object:nil];
// create a notification
[object notify];
Per ulteriori informazioni, consultare la documentazione di NSNotificationCenter.
Qual è il punto di utilizzo della notifica? Perché non chiamare [object handleNotification] direttamente? –
Giunto libero. Nota il commento "// altrove" ... La notifica è una specie di messaggio broadcast. Qualsiasi istanza di oggetto può ascoltare una notifica e non è necessario conformarsi a un particolare protocollo delegato o simile. Possono esserci molte istanze che ascoltano un singolo messaggio. Il mittente non ha bisogno di avere dei riferimenti alle istanze dell'oggetto che desidera informare. –
Fase 1:
//register to listen for event
[[NSNotificationCenter defaultCenter]
addObserver:self
selector:@selector(eventHandler:)
name:@"eventType"
object:nil ];
//event handler when event occurs
-(void)eventHandler: (NSNotification *) notification
{
NSLog(@"event triggered");
}
Fase 2:
//trigger event
[[NSNotificationCenter defaultCenter]
postNotificationName:@"eventType"
object:nil ];
Oh, grazie mille per il grande esempio. Questo è esattamente ciò di cui ho bisogno. – d12frosted
Splendido :) Grazie mille –
Assicurati di annullare la registrazione di notifica (osservatore), quando l'oggetto viene deallocato. La documentazione Apple afferma: "Prima che un oggetto che sta osservando le notifiche sia deallocato, deve comunicare al centro notifiche di interrompere l'invio di notifiche".
per le notifiche locali il codice successivo è applicabile:
[[NSNotificationCenter defaultCenter] removeObserver:self];
E per gli osservatori di notifiche distribuite:
[[NSDistributedNotificationCenter defaultCenter] removeObserver:self];
- 1. Cacao - Notifica sulla modifica del valore di NSUserDefaults?
- 2. Animazione nella barra di notifica Vista personalizzata
- 3. Il modo migliore per installare una struttura di cacao personalizzata
- 4. Codice di esempio Bluetooth per cacao (Objective-C)
- 5. Codice di esempio Apple PNS (servizi di notifica push)
- 6. Esempio MVVM/Esempio di implementazione in iOS
- 7. Scorciatoie globali di cacao?
- 8. Visualizzazione dell'immagine personalizzata sul diritto di push/notifica locale?
- 9. Notifica personalizzata Android 4.0 come la musica di google
- 10. Come creare una notifica personalizzata in Android
- 11. Notifica personalizzata: java.lang.RuntimeException: lunghezza array errata
- 12. Android: Notifica personalizzata Toast Eredita Default Toast
- 13. Come ottenere il colore di sfondo della notifica predefinito per la notifica personalizzata in Lollipop?
- 14. Cacao: AVAsset da dati non elaborati (ad esempio NSData)
- 15. Errore di cacao 260
- 16. Problemi di riempimento (?) Con carattere icona personalizzata. Esempio sotto
- 17. Strutture di cacao e NSMutableArray
- 18. Alla ricerca di un cross-platform, end-to-end esempio di C++ per WPF/cacao interoperabilità
- 19. Creazione di un framework cacao
- 20. Chiudere altre applicazioni nel cacao
- 21. Errore di cacao 256 dati di base
- 22. Consigli per un'applicazione di disegno di cacao
- 23. Catena di risposta per storyboard di cacao
- 24. controllare la connessione Internet nell'applicazione di cacao
- 25. Controllo iTunes da un'applicazione di cacao
- 26. Visualizzazione personalizzata selezionabile in Notifica su Android 2.3 o inferiore
- 27. Socket di dominio UNIX e Cacao
- 28. cacao setAnimationDidStopSelector
- 29. Inviare una notifica al centro di notifica Mountain Lion
- 30. Esempio di threading semplice esempio
domanda Vague. Prova a fare una domanda più specifica o cerca nella documentazione di Apple. – danielpunkass
Normalmente non commenterei una domanda come questa, ma visto che hai ricevuto un "con" allora il mio può essere un "pro". Questa domanda consente una * risposta concisa * che tratta rigorosamente l'argomento. Voglio solo scoprire una cosa semplice - non * raschiare * la documentazione di Apple (che con ogni probabilità varrebbe comunque la pena). Quindi grazie per aver fatto questa domanda. Vedo che il tuo +15 atm sulla domanda è congruente con il mio sentimento. – Jacksonkr
+1. Grazie. –