Birisi bana özel bir bildirim, nasıl ateş edileceği, abone olunabileceği ve işlenebileceği bir Cocoa Obj-C nesnesinin örneğini gösterebilir mi?Kakao Özel Bildirim Örneği
cevap
@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];
Daha fazla bilgi için, NSNotificationCenter belgelerine bakın.
Bildirimi kullanmanın amacı nedir? Neden sadece [object handleNotification] çağırmıyorsunuz? –
Gevşek kaplin. "// başka bir yer" yorumuna dikkat edin ... Bildirim, bir tür yayın mesajıdır. Herhangi bir nesne örneği bir bildirimi dinleyebilir ve belirli bir temsilci protokolüne veya benzerine uymaya ihtiyaç duymaz. Tek bir mesajı dinleyen birçok örnek olabilir. Gönderenin bildirmek istediği nesne örneklerine/işaretlerine sahip olması gerekmez. –
Adım 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");
}
Adım 2:
//trigger event
[[NSNotificationCenter defaultCenter]
postNotificationName:@"eventType"
object:nil ];
Oh, harika örnek için çok teşekkür ederim. Bu tam ihtiyacım olan şey. – d12frosted
Muhteşem :) Çok teşekkürler –
senin nesne ayırmanın bildirim (gözlemci) kaydını emin olun. Apple belgelerinde şu ifadeler yer almaktadır: "Bildirimleri gözlemleyen bir nesne ayrılmadan önce, bildirim merkezinin bildirimleri göndermeyi durdurmasını bildirmesi gerekir".
Yerel Bildirimler için bir sonraki kod geçerlidir:
[[NSDistributedNotificationCenter defaultCenter] removeObserver:self];
- 1. Android'de Özel Bildirim nasıl oluşturulur?
- 2. Kakao
- 3. Geçerli uygulama Kakao
- 4. Nasıl benim ana etkinliğim herhangi yeni bir örneği olmaksızın, bildirim
- 5. Özel yöntem için ileri bildirim nasıl yapılır?
- 6. Özel tarih ve saatte bildirim nasıl başlatılır?
- 7. Özel bildirim: java.lang.RuntimeException: hatalı dizi uzunlukları
- 8. Kakao/Bindings'de hata ayıklama aracı Kakao
- 9. Kakao setAnimationDidStopSelector
- 10. Kakao sarıcı
- 11. scrapy tarayıcı özel durum okuma örneği verisi
- 12. EC2 Ubuntu Örneği - KORUMALI ÖZEL ANAHTAR DOSYA
- 13. JUnit Test Örneği Dijkstra Algoritmasında Özel Yöntemle
- 14. alaycı Kakao nesneleri
- 15. bildirim
- 16. NSTableView'da kakao özel hücresi: NSCell alt sınıf sızıntısı
- 17. Bildirim merkezindeki bildirim merkezini kaldırma
- 18. Bildirim alındığında bildirim geldiğinde android
- 19. birisi Bildirileri Merkezi'ne bir kakao uygulamasından Test bildirimi gönderilmesi açısından örnek verebilir Dağ aslanı Bildirim merkezi
- 20. sınıf örneği örneği
- 21. Bildirim simgesini bildirim çekmecesinde bildirim simgesi olarak nasıl belirlenir
- 22. Kakao/iPhone: BackgroundColor ve Opak Özellikleri Kakao, özellikle iPhone SDK
- 23. Açık Kaynak Kakao/Kakao Dokunmatik POP3/SMTP kütüphanesi?
- 24. örneği
- 25. Referans akımı RoleProvider örneği?
- 26. Kakao yapıları ve NSMutableArray
- 27. Swift'de Kakao Yetkilendirmesi
- 28. Uygulama Delegesi - Kakao
- 29. Kakao Kullanıcı Resizable Görüntüleme
- 30. Giriş Öğe - kakao
belirsiz soru:
Ve dağıtılan bildirimlerin gözlemciler için
. Daha spesifik bir soru sormayı deneyin veya Apple'ın dokümanlarını arayın. – danielpunkassNormalde böyle bir soru üzerine yorum yapmam, ama nasıl bir "con" aldığınızı görmek benim için bir "pro" olabilir. Bu soru, kesinlikle konuyla ilgili bir * özlü * cevap sağlar. Ben sadece bir basit şey bulmak istiyorum - değil * scour * elma'nın belgelerine (muhtemelen büyük olasılıkla olsa da olsa). Bu soruyu sorduğunuz için teşekkürler. +15 atm'ınızı, duygularımla uyumlu bir şekilde sorguladığımı görüyorum. – Jacksonkr
+1 de. Teşekkürler. –