2012-04-15 13 views
8

पर पूरा होने बुला नहीं इस कोड को मेरे पास है:dismissviewcontrolleranimated पूरा होने uiimagepickercontroller

-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { 


    [picker dismissViewControllerAnimated:YES completion:^(void){ 
     NSLog(@"Test"); 

    }]; 
} 

यह मॉडल दृश्य नियंत्रक को खारिज करते हैं, लेकिन पूरा होने के तर्क फोन नहीं करता है। क्या मुझसे कुछ गलत हो रही है?

उत्तर

17

शून्य पूरा होने के संचालकों एक सरल ^{ से भर रहे हैं, मैं पहले अपने वाक्य रचना कभी नहीं देखा है ....

[picker dismissViewControllerAnimated:YES completion:^{ 
     NSLog(@"Test"); 

    }]; 

केवल संभावित व्याख्या मैं के साथ आ सकता है कि आपकी छवि पिकर है किसी अन्य माध्यम से खारिज किया जा रहा है, और यह कि आप प्रतिनिधि नहीं हैं (इसलिए आपको didFinishPickingMediaWithInfo संदेश प्राप्त नहीं होगा)। उस समय एसडीके के भीतर एक और संभावना विफल हो सकती है। मुझे एक त्वरित उदाहरण प्रोजेक्ट चलाने से पता है, कि समापन ब्लॉक दोनों सिंटैक्टिकल मॉडल में अपेक्षित रूप से आग लगती है।

+0

मैं वास्तव में शून्य में डालता हूं क्योंकि यह ऊपर पोस्ट किए गए काम नहीं कर रहा था। मैंने इसे वापस बदल दिया, और यह अभी भी काम नहीं करता है। – Andrew

+0

क्या आप लॉग के दाहिने तरफ का उपयोग कर रहे हैं? सबसे दूर दाएं बटन का चयन किया जाना चाहिए। – CodaFi

+1

इस वाक्यविन्यास और प्रश्न में वाक्यविन्यास बराबर हैं। '^ शून्य (शून्य) {NSLog (@" टेस्ट ") में से कोई भी; } ','^(शून्य) {एनएसएलओजी (@ "टेस्ट"); } ', या'^{एनएसएलओजी (@ "टेस्ट"); } 'बिल्कुल वही ब्लॉक बन जाएगा। IOW, 'शून्य' को ब्लॉक के रिटर्न प्रकार और पैरामीटर सूची के लिए माना जाता है जब कुछ भी निर्दिष्ट नहीं किया जाता है। –

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