2014-09-22 11 views
8

में 6.1 गुण शब्दकोश Xcode से Xcode 6.1 बीटा 2 के उन्नयन 6 बीटा 7 के बाद, निम्न नहीं रह गया काम करता है:Xcode स्विफ्ट

let font = UIFont(name: "Arial", size: 16) 
let colour = UIColor.redColor() 
let attributes = [NSFontAttributeName: font, NSForegroundColorAttributeName: colour] 

मैं विशेष रूप से

let attributes: [NSString : AnyObject] = [NSFontAttributeName: font, NSForegroundColorAttributeName: colour] 

के रूप में शब्दकोश घोषित करने की कोशिश की है लेकिन मुझे त्रुटि मिल रही है "कन्वर्ट नहीं कर सकता ... 'शब्दकोश' से 'एनएसएसटींग!'"। NSString की बजाय NSString! के रूप में कुंजी घोषित करने से शिकायत है कि NSString! हैशबल नहीं है। कोई सुराग?

+0

Xcode6.01 के लिए खेल का मैदान में कॉपी किया - यह –

+0

काम करता है XCode में असफल 6.1 बीटा 2. –

+1

@MaximShoustin कोड पुष्टि कर सकते हैं - तो: सही उपयोग है:

let font = UIFont(name: "Arial", size: 16)! // Unwrapped let colour = UIColor.redColor() let attributes: [NSString : AnyObject] = [NSFontAttributeName: font, NSForegroundColorAttributeName: colour] 

या, और अधिक सही ढंग से डाउनवोट क्यों? – Grimxn

उत्तर

18

सॉर्ट किया गया। हमेशा के रूप में, वास्तविक त्रुटि एक लाल हेरिंग है। UIFont(name: , size:) में अब init? प्रारंभिक है, और यह वैकल्पिक है।

if let font = UIFont(name: "Arial", size: 16) { 
    let colour = UIColor.redColor() 
    let attributes: [NSString : AnyObject] = [NSFontAttributeName: font, NSForegroundColorAttributeName: colour] 
    // ... 
} 
+0

बस यह सही समस्या थी। मैंने अपने स्वयं के कुछ अलग-अलग संशोधनों की कोशिश की (इसके बजाय 'NSDictionary' का उपयोग करके, शब्दकोश प्रकार पैरामीटर निर्दिष्ट करना), और सभी कंपाइलर त्रुटियों ने मुझे पूरी तरह से गलत दिशा में फेंक दिया। धन्यवाद! –

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