मेरे पास एक ऐसा वर्ग है जो आने वाले संदेशों को प्रबंधित करता है और आईपैड में बाहरी एक्सेसरी में जाता है।EAAccessoryDidConnectNotification दो बार क्यों होता है?
- (id) init
{
self = [super init];
if (!self) return;
[[EAAccessoryManager sharedAccessoryManager] registerForLocalNotifications]; //we want to hear about accessories connecting and disconnecting
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(accessoryDidConnect:)
name:EAAccessoryDidConnectNotification
object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(accessoryDidDisconnect:)
name:EAAccessoryDidDisconnectNotification
object:nil];
...
}
dealloc में मैं
- (void) dealloc
{
[[NSNotificationCenter defaultCenter] removeObserver:self name:EAAccessoryDidDisconnectNotification object:nil];
[[NSNotificationCenter defaultCenter] removeObserver:self name:EAAccessoryDidConnectNotification object:nil];
[[EAAccessoryManager sharedAccessoryManager] unregisterForLocalNotifications];
}
किसी कारण से, जब मैं accessoryDidConnect आईपैड के लिए बाहरी एक्सेसरी से कनेक्ट: एक accessoryDidDisconnect के बाद आग: पालन किया init में मैं निम्नलिखित कोड है accessoryDidConnect द्वारा:
मुझे पता नहीं लगा कि मुझे अतिरिक्त कनेक्ट और डिस्कनेक्ट क्यों मिलेगा। कोई विचार?
अपडेट किया गया और इसे –
पर जांचें ठीक है, चीज़ें अब ठीक से काम कर रही हैं। मुझे केवल एक एक्सेसरीडिड कनेक्ट/एक्सेसरीडिडडिस्कनेक्ट संदेश मिलता है, जो कि अच्छा है। हालांकि, यह आदेश के लिए असंबंधित प्रतीत होता है कि रजिस्टरफोरोकल नोटिफिकेशन कहा जाता है। लेकिन, मैंने जो भी दस्तावेज कभी पाया है, वह आपके द्वारा यहां दिए गए क्रम में रजिस्टर कॉल करता है। ऐसा लगता है कि मैं इसे थोड़ा पीछे कर रहा हूं। मुझे लगता है कि वास्तविक समस्या EAAccessory ऑब्जेक्ट की मेरी संदर्भ गिनती में हो सकती है। कोड के इस क्षेत्र में हाल ही में बहुत से कोड परिवर्तन हुए हैं, लेकिन वे मेरे द्वारा नहीं थे। मैंने उन देवताओं से बात की जिन्होंने उन्हें किया, और ... – Sam
उन्हें यकीन नहीं है कि ये अधिसूचनाएं केवल एक बार क्यों आ रही हैं। एक साइड नोट के रूप में, हमारी संदर्भ गिनती बंद थी क्योंकि हमें एहसास नहीं हुआ था कि थ्रेडिंग ने धागे पर चलने वाले लक्ष्य की संदर्भ संख्या में वृद्धि की है। वैसे भी, मैं इसे उत्तर के रूप में चिह्नित करूंगा, भले ही मैं 100% सुनिश्चित नहीं हूं कि यह अचानक क्यों काम करता है। – Sam