दिलचस्प पोस्ट
अजगर की मदद से फ़ाइल में सभी रिक्त पंक्तियों को कैसे हटाएं? MySQL सीमांकक के साथ संग्रहीत कार्यविधि वाक्यविन्यास बनाएँ PHP में यूआरएल के अनुकूल यूजरनाम? एक आधार प्रकार को एक व्युत्पन्न प्रकार का ढांचा देने का एक तरीका मैं एक सार सी # वर्ग पर एक सार निर्माता क्यों नहीं बना सकता? यदि कोई मर जाता है तो मैं प्रक्रिया को पुनरारंभ करने के लिए एक बाश स्क्रिप्ट कैसे लिख सकता हूं? \ R और \ n के बीच अंतर क्या है? कैसे जानने के लिए जब UITableView ने iPhone में नीचे स्क्रॉल किया क्या कोई अच्छा पायथन लाइब्रेरी है जो सी ++ को पार्स कर सकती है? फ़ाइल गुंजाइश पर विविध रूप से संशोधित सरणी HTML कैनवास पर पाठ की ऊँचाई कैसे प्राप्त कर सकते हैं? कैसे जावा में एक सापेक्ष पथ को परिभाषित करें किसी सूची में डुप्लिकेट ढूंढें और सूचीबद्ध करें? ईमेल संलग्नक कैसे भेजें? जावास्क्रिप्ट नामकरण सम्मेलनों

उद्देश्य-सी में NSNotificationCenter के माध्यम से संदेश भेजें और प्राप्त करें?

मैं उद्देश्य- C में NSNotificationCenter माध्यम से संदेश भेजने और प्राप्त करने का प्रयास कर रहा हूं I हालांकि, मैं यह कैसे करना है पर कोई उदाहरण नहीं मिल पा रहा है। आप NSNotificationCenter माध्यम से संदेश कैसे भेजते और प्राप्त करते हैं?

वेब के समाधान से एकत्रित समाधान "उद्देश्य-सी में NSNotificationCenter के माध्यम से संदेश भेजें और प्राप्त करें?"

 @implementation TestClass - (void) dealloc { // If you don't remove yourself as an observer, the Notification Center // will continue to try and send notification objects to the deallocated // object. [[NSNotificationCenter defaultCenter] removeObserver:self]; [super dealloc]; } - (id) init { self = [super init]; if (!self) return nil; // Add this instance of TestClass as an observer of the TestNotification. // We tell the notification center to inform us of "TestNotification" // notifications using the receiveTestNotification: selector. By // specifying object:nil, we tell the notification center that we are not // interested in who posted the notification. If you provided an actual // object rather than nil, the notification center will only notify you // when the notification was posted by that particular object. [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(receiveTestNotification:) name:@"TestNotification" object:nil]; return self; } - (void) receiveTestNotification:(NSNotification *) notification { // [notification name] should always be @"TestNotification" // unless you use this method for observation of other notifications // as well. if ([[notification name] isEqualToString:@"TestNotification"]) NSLog (@"Successfully received the test notification!"); } @end 

… दूसरे वर्ग में कहीं और …

 - (void) someMethod { // All instances of TestClass will be notified [[NSNotificationCenter defaultCenter] postNotificationName:@"TestNotification" object:self]; } 

स्वप्नलोक के उदाहरण पर विस्तार करने के लिए … यदि आप सूचना के साथ डेटा भेजना चाहते हैं

पोस्टिंग कोड में:

 NSDictionary *userInfo = [NSDictionary dictionaryWithObject:myObject forKey:@"someKey"]; [[NSNotificationCenter defaultCenter] postNotificationName: @"TestNotification" object:nil userInfo:userInfo]; 

कोड देखने में:

 - (void) receiveTestNotification:(NSNotification *) notification { NSDictionary *userInfo = notification.userInfo; MyObject *myObject = [userInfo objectForKey:@"someKey"]; } 

ब्लॉकों का उपयोग करने की संभावना भी है:

 NSOperationQueue *mainQueue = [NSOperationQueue mainQueue]; [[NSNotificationCenter defaultCenter] addObserverForName:@"notificationName" object:nil queue:mainQueue usingBlock:^(NSNotification *notification) { NSLog(@"Notification received!"); NSDictionary *userInfo = notification.userInfo; // ... }]; 

ऐप्पल के दस्तावेज़ीकरण

यह एक ने मुझे मदद की:

 // Add an observer that will respond to loginComplete [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(showMainMenu:) name:@"loginComplete" object:nil]; // Post a notification to loginComplete [[NSNotificationCenter defaultCenter] postNotificationName:@"loginComplete" object:nil]; // the function specified in the same class where we defined the addObserver - (void)showMainMenu:(NSNotification *)note { NSLog(@"Received Notification - Someone seems to have logged in"); } 

स्रोत: http://www.smipple.net/snippet/Sounden/Simple%20NSNotificationCenter%20example

यदि आप अपना दृश्य अपडेट करने के लिए NSNotificationCenter का उपयोग कर रहे हैं, तो इसे भेजने के लिए मुख्य धागा से भेजने के लिए मत भूलना प्रेषक_आसंक:

 dispatch_async(dispatch_get_main_queue(),^{ [[NSNotificationCenter defaultCenter] postNotificationName:@"my_notification" object:nil]; });