2016-11-19 8 views
17

मुझे इस तरह की कुछ त्रुटि है "अभिव्यक्ति पूरी तरह से 'स्ट्रिंग से coerced?' किसी भी करने के लिए "यह मेरा कोड है:स्पष्ट रूप से 'स्ट्रिंग' से अभिव्यक्त अभिव्यक्ति? किसी भी

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { 
    // Override point for customization after application launch. 

    FIRApp.configure() 
    FIRAuth.auth()?.signIn(withEmail: "[email protected]", password: "mypassword", completion: { (user, error) in 
     if (error != nil) { 
      print(user?.email) 
     }else { 
      print(error?.localizedDescription) 
     } 
    }) 

    return true 
} 

इस पंक्ति में त्रुटि

 print(user?.email) 

और

print(error?.localizedDescription) 

कृपया मुझे

उत्तर

18

मदद print समारोह Any मानकों का एक सेट की आवश्यकता है । String एक Any है। इस मामले में एक्सकोड आपको बता रहा है कि यह Any ऑब्जेक्ट में String मान को बदलकर Optional(value) में वैकल्पिक स्ट्रिंग को वैकल्पिक रूप से घुमाया गया है)।

इस चेतावनी से बचने के लिए, आप बस एक डिफ़ॉल्ट मान का उपयोग या दूसरी पंक्ति पर नहीं के बराबर String?

print(user?.email ?? "User instance is nil") 
print(user!.email) 
+0

उपयोगकर्ता क्या होगा है खोलने कर सकते हैं? – probrandono

+2

ऐप निश्चित रूप से दुर्घटनाग्रस्त हो जाएगा। लेकिन वैकल्पिक के बारे में मेरी व्याख्या के बाद मुझे लगता है कि यह निहित था –

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