2010-08-29 10 views
6

नीचे की रेखा है, मैं एक ऐप पर काम कर रहा हूं, और ऐसा लगता है कि अगर मैंमें UIAlert डालता हूं, तो इसे दो बार कहा जाता है (UIImagePickerController की प्रतिनिधि विधि से)। अगर मैं इसे viewDidAppear में डालता हूं, तो इसे एक बार बुलाया जाता है।viewDidAppear के बीच अंतर, आईफोन/आईओएस में देखेंडिडलोड?

मैंने प्रलेखन के माध्यम से देखा है लेकिन यह सिर्फ मुझे भ्रमित करता है।

+0

क्या आप कुछ कोड पोस्ट कर सकते हैं? – rano

+0

क्या आपने ब्रेक पॉइंट सेट करने और कॉल स्टैक की जांच करने का प्रयास किया है? – Mark

उत्तर

8

एक UIView ऑब्जेक्ट मेमोरी में लोड हो सकता है और कभी भी दृश्य स्टैक में जोड़े जाने और डिस्प्ले पर दिखाई देने के बिना कई बार रिलीज़ किया जा सकता है।

मेरा अनुमान है कि आपके पास इस दृश्य के 2 संदर्भ हैं (शायद एक निब फ़ाइल में?), इसलिए यह लोड हो रहा है, फिर दूसरा संदर्भ लोड होने पर उसी रिलीज को आवंटित किया जाता है, फिर केवल बाद वाला हो जाता है दृश्य ढेर में जोड़ा गया। आप दृश्य (एनएसएलओजी) को स्वयं ("% ld", (long int) self) के पूर्णांक मान को देखकर देख सकते हैं .DidLoad और viewDidAppear विधियों में।