2015-03-05 4 views
7

मैंने गिटहब, parse.com & पर किसी भी भाग्य के बिना सिंटैक्स को यहां एक गजियन बार चेक किया है।'saveInBackgroundWithBlock' का आह्वान नहीं कर सकता

Cannot invoke 'saveInBackgroundWithBlock' with an argument list of type '((Bool, NSError) -> Void)'

मैं Xcode पर हूँ 6.3 बीटा 2. सभी व्यवस्थाएं (बोल्ट & पार्स सहित परियोजना के लिए लोड किए गए हैं, लेकिन नहीं प्रदान की समस्या है जब मैं PFObject के लिए saveInBackgroundWithBlock फोन कर रहा हूँ मैं निम्नलिखित त्रुटि मिलती है parse.com द्वारा ParseCrash रिपोर्टिंग & पारसीयू), <Parse/Parse.h> & भी <Bolts/Bolts.h> ब्रिज हेडर के माध्यम से लाया जाता है।

var score = PFObject(className: "score") 
    score.setObject("Rob", forKey: "name") 
    score.setObject(95, forKey: "scoreNumber") 
    score.saveInBackgroundWithBlock { 
     (success: Bool!, error: NSError) -> Void in 
     if success == true { 
      println("Score created with ID: \(score.objectId)") 
     } else { 
      println(error) 
     } 
    } 

कोई विचार?

उत्तर

7

स्विफ्ट 1.2 में .saveInBackgroundWithBlock की घोषणा इस तरह दिखना चाहिए:

Void saveInBackgroundWithBlock(block: PFBooleanResultBlock?(Bool, NSError?) -> Void) 

तो यह किया जाना चाहिए था इस प्रकार है:

score.saveInBackgroundWithBlock { 
     (success: Bool, error: NSError?) -> Void in 
+0

देखें यह सिर्फ मेरे बेकन को बचाया, धन्यवाद! :) – Alex

+2

एक्सकोड 7 बीटा 5 शो त्रुटि: 'नहीं आ सकता' signUpInBackgroundWithBlock 'प्रकार की एक तर्क सूची के साथ' ((बूल, एनएसईआरआरआर?) -> शून्य) '' – orkenstein

9

error पैरामीटर एक परोक्ष unwrapped वैकल्पिक माना जाता है, लेकिन success एक नहीं:

(success: Bool, error: NSError!) -> Void in 
      ^   ^

हालांकि जब तक आप जो भी कारण के लिए प्रकार निर्दिष्ट करने की जरूरत है, मैं तो आप बस के रूप में बंद करने का उपयोग करने के लिए सुझाव :

(success, error) in 

घोषणा त्रुटियों को टाइप करने के लिए कम प्रवण।

+0

धन्यवाद, प्रिय महोदय, आप मुझे सही दिशा में इशारा किया ! हालांकि, आपकी सलाह बिल्कुल सही नहीं थी, कृपया नीचे मेरा जवाब देखें। –

+0

एकमात्र अंतर स्पष्ट रूप से अनचाहे वैकल्पिक है, जिसे आप हमेशा सामान्य वैकल्पिक के रूप में घोषित कर सकते हैं। क्या आपको इसकी वजह से कोई त्रुटि मिली? – Antonio

+0

हां, जब भी मैं इनमें से कोई भी बदलता हूं तो मुझे एक त्रुटि मिलती है। फिर भी, '(सफलता, त्रुटि)' में काम करता प्रतीत होता है, लेकिन यह वही नहीं है जो मैं चाहता था। –

1

विधि success और error चर error पर ! के साथ इस तरह सेट किया चाहता है:

(success: Bool, error: NSError!) 
      ^   ^

लेकिन तुम गलत चर को ! निर्धारित किया है:

(success: Bool!, error: NSError) 

आप के रूप में यहां देखें:

enter image description here

+0

मुझे सही दिशा में इंगित करने के लिए धन्यवाद, कृपया http://stackoverflow.com/a/28898010/4327488 –

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