cocoa - Completion handler never called for NSSavePanel beginWithCompletionHandler -


जब मैं NSSavePanel या NSOpenPanel उदाहरण को के साथ खोलता हूं शुरूआती समाप्तिहैंडलर: हेन्डलर को कभी भी नहीं कहा जाता है। इसके बजाय मुझे लगता है कि पैनल को एक सेकंड के एक अंश के लिए दिखाई देता है, इससे पहले कि उपयोगकर्ता फाइल को चुनने के बिना फिर से दूर हो जाए। जब मैं runModal से पैनल खोलता हूं तो यह ठीक काम करता है I यहां कोड:

  एनएसएसवेपैनेल * सहेजेंपैनेल = [एनएसएसवेपैनेल सेव पॅनेल]; // [बचा पैनल रनमॉडल]; // वर्क्स [savePanel शुरुआत के साथ समाप्तीहैंडलर: ^ (एनएसआईटीएफ़र परिणाम) {एनएसएलॉग (@ "डोन"); // कहा कभी नहीं, संवाद सही दूर गायब हो जाता है]];   

क्या मुझे कुछ याद आ रही है?

धन्यवाद, मार्क

समस्या मिली: उपरोक्त कोड में, सहेजते हैंपैनेल उदाहरण आटोराइज्ड हो जाते हैं जैसे कि आस-पास की विधि समाप्त होती है इसके कारण पैनल गायब हो जाता है। समाधान को पैनल के संदर्भ में रखना है जब तक पूरा ब्लॉक नहीं कहा जाता है।

Comments