2015-10-01 5 views
5

मैं बहुत लंबे समय तक आईओएस या स्विफ्ट का अध्ययन नहीं कर रहा हूं। नवीनतम एक्सकोड अपडेटों में से एक के साथ, मैंने अपने कंप्यूटर पर किए गए कई ऐप्स अब अप्रचलित वाक्यविन्यास का उपयोग कर रहे हैं।"वैकल्पिक प्रकार का मूल्य 'स्ट्रिंग?' अनचाहे नहीं; क्या आप का मतलब '!' या '?' ? "

एक्सकोड हमें इसे नए वाक्यविन्यास में परिवर्तित करने के माध्यम से बात करता है लेकिन अक्सर यह कुछ भी हल नहीं करता है और मुझे एक नई समस्या है। सिंटैक्स को परिवर्तित करने के बाद किए गए पहले ऐप में से एक के लिए कोड यहां दिया गया है। मुझे एक त्रुटि हो रही है:

वैकल्पिक प्रकार 'स्ट्रिंग?' का मूल्य अनचाहे नहीं; क्या आपका मतलब '!' का उपयोग करना था या '?' ?

मुझे पता है कि यह वास्तव में सरल होना चाहिए लेकिन मुझे नहीं पता कि इसे कैसे ठीक किया जाए। यहाँ मेरी कोड है:

@IBAction func findAge(sender: AnyObject) { 
    var enteredAge = Int(age.text) 
    if enteredAge != nil { 
     var catYears = enteredAge! * 7 
     resultLabel.text = "Your cat is \(catYears) in cat years" 
    } else { 
     resultLabel.text = "Please enter a whole number" 
    } 
} 

उत्तर

10

एक पाठ लेबल के text संपत्ति एक वैकल्पिक है, आप इसे उपयोग करने से पहले यह खोलने में है।

var enteredAge = Int(age.text!) 

और भी बेहतर:

if let text = age.text, let enteredAge = Int(text) { 
    let catYears = enteredAge * 7 
    resultLabel.text = "Your cat is \(catYears) in cat years" 
} else { 
    resultLabel.text = "Please enter a whole number" 
} 
1

मुझे लगता है कि कोशिश की। लेकिन यह अभी भी वही बात कहता है। मैंने इसे अभी ठीक करने में कामयाब रहा है। मैंने जो कुछ किया वह सिम्युलेटर प्रदर्शित करने वाला डिवाइस बदल गया था। बस इसे फ्लाईक करके मैंने इसे काम कर लिया है। शायद ऐसा इसलिए था क्योंकि मैं एक आईओएस ऐप बना रहा था और आईपैड को विभिन्न वाक्यविन्यास की आवश्यकता थी।

आपके उत्तर के लिए धन्यवाद! कुछ भी करने के विभिन्न तरीकों को जानने के लिए यह भी उपयोगी तरीका है।

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