मैं अगले कोड है। जब मैं ऐप लॉन्च करता हूं जो पहले viewDidload
पर जाता है, तो इसे डाउनलोड करने के बाद viewDidDisappear
पर जाता है।removeObserver काम नहीं कर रहा
लेकिन मेरे ऐप के दौरान मैं फिर से डेटा डाउनलोड करता हूं और notification: NSDownloadComplete
पोस्ट करता हूं। और यह कुलपति में यह काम है, लेकिन मैं बाद में उपयोग करके हटाया:
[[NSNotificationCenter defaultCenter] removeObserver:self]
यह कुलपति उपयोग viewDidLoad
एक बार शुरुआत & नहीं कर सकते फिर addObserver में।
क्या गलत है? कोई परिणाम नहीं -
संपादित मैं viewWillAppear
या viewWillDisappear
को विधि addObserver डाल प्रयास करें। मैं viewDidLoad
में
[[NSNotificationCenter defaultCenter] addObserverForName...
से पहले NSLog(@"addObserver");
जोड़ सकते हैं और
- (void)viewDidDisappear:(BOOL)animated
{
NSLog(@"removeObserver");
[[NSNotificationCenter defaultCenter] removeObserver:self];
[super viewDidDisappear:animated];
}
लॉग में लिखने मैं देख रहा हूँ:
2013-06-10 14:32:05.646 myApp[9390:c07] addObserver
2013-06-10 14:32:06.780 myApp[9390:c07] removeObserver
क्या गलत?
संपादित 2 आपको लगता है कि पर्यवेक्षक हटा दिया जाना चाहिए, लेकिन यह फिर से addObserver विधि
साथ
साथ पर्यवेक्षक जोड़ सकते हैं और इसे हटाने कि कोड की नकल और चिपकाया है? मैंने बस सोचा क्योंकि आपकी 'व्यूडिडलोड' सिर्फ 3 लाइनें हैं और उसके बाद ऐसे बयान हैं जो किसी भी विधि में नहीं हैं। यह मान्य नहीं है;) – HAS
@HAS सभी मेरे काम को छोड़कर ठीक काम करते हैं =) – user2213271
क्षमा करें, लेकिन यह नहीं है;) 'self.activityIndicator.originY = 355.f;' के बाद घुंघराले ब्रेस गलत है। निकालें और आपके पास वैध कोड होगा;) – HAS