ios - स्विम पर यूआईमेज शून्य के लिए जांच नहीं कर सकता




xcode swift (2)

Init, कि आप init?(contentsOfFile path: String) कॉल कर रहे हैं init?(contentsOfFile path: String) ? इसका अर्थ है कि यह वैकल्पिक मान देता है

इसका उपयोग करने से पहले आपको वैकल्पिक वार्स को nil से देखना चाहिए।

स्वीकार्य जवाब और स्विफ्ट-स्टाइल के रास्ते से छोटा, वैकल्पिक चैनेन नामित होने से, ऐसा करने के लिए:

if let image = UIImage(contentsOfFile: filePath) {
   return image
}

स्विफ्ट पर मेरे पास निम्न कोड है

var image = UIImage(contentsOfFile: filePath)
        if image != nil {
           return image
       }

यह महान काम करता था, लेकिन अब Xcode बीटा 6 पर, यह एक चेतावनी देता है

 'UIImage' is not a subtype of 'NSString'

मुझे नहीं पता कि क्या करना है, मैंने अलग चीजों की कोशिश की जैसे

 if let image = UIImage(contentsOfFile: filePath) {
            return image
   }

लेकिन त्रुटि में परिवर्तन:

Bound value in a conditional binding must be of Optional type

क्या यह Xcode6 बीटा 6 पर एक बग है या क्या मैं कुछ गलत कर रहा हूं?


अद्यतन करें

स्विफ्ट ने अब फ्लेबल इन्टरलाइजर्स की अवधारणा को जोड़ा और अब उनमें से एक है UIImage। प्रारंभकर्ता वैकल्पिक विकल्प देता है ताकि छवि को बनाया न जा सके, वह शून्य लौटाएगा

डिफ़ॉल्ट रूप से चर nil नहीं हो सकते यही कारण है कि image को nil से तुलना करने का प्रयास करते समय आपको एक त्रुटि मिल रही है आपको अपने चर को स्पष्ट रूप से वैकल्पिक रूप से परिभाषित करना होगा:

let image: UIImage? = UIImage(contentsOfFile: filePath)
if image != nil {
   return image!
}




uiimage