2014-09-09 6 views
7

pushViewController को धीमा होने का कारण क्या हो सकता है? (यह 30 + सेकंड लेता है नया दृश्य प्रदर्शित करने के लिए)pushViewController बेहद धीमी

असल में, मैं कुछ इस तरह कर रहा हूँ:

SecondViewController *vc = [self.storyboard instantiateViewControllerWithIdentifier:@"correctID"]; 
vc.something = something; 
[self.navigationController pushViewController:vc animated:YES]; 
CLS_LOG(@"Pushed Controller..."); 

और मैं दूसरे दृश्य नियंत्रक के अंदर viewDidLoad की शुरुआत में लॉगिन कर रहा हूं। मैं अन्य विधियों को उपclassing नहीं कर रहा हूँ।

धक्का नियंत्रक के बीच ... और viewdidload से अगला लॉग एक बड़ी देरी है।

आप इसे कैसे डिबग करेंगे?

मैंने पहले से ही टाइमप्रोफाइलर के साथ प्रयास किया लेकिन स्पष्ट रूप से यह कुछ भी नहीं दिखाता है।

+0

मुझे लगता है कि चाहते हैं कि आपके SecondViewController के 'viewDidLoad', में कुछ' viewWillAppear', या 'viewDidAppear' तरीकों एक बहुत लंबे समय ले रहे हैं। बस डिबगिंग के लिए, उनकी सामग्री पर टिप्पणी करने का प्रयास करें और देखें कि आपकी समस्या का कारण क्या है। –

+5

क्या आप वाकई उस कोड को मुख्य धागे में चला रहे हैं? हमें और संदर्भ दिखाएं। –

उत्तर

14

से पहले इसी तरह की समस्या थी, कोशिश निम्नलिखित

dispatch_async(dispatch_get_main_queue(), ^{ 
    // your navigation controller action goes here 
}); 
+0

आप सही हैं, यह चाल है। मैं उस थ्रेड को मुख्य धागे में नहीं चला रहा था। –

संबंधित मुद्दे