2016-08-16 11 views
14

यह नहीं रह गया है Xcode में काम करता है 8 बीटा 6:Xcode 8 (स्विफ्ट 3) में CFArray को स्विफ्ट सरणी परिवर्तित

let colors:CFArray = [fromColor.cgColor, toColor.cgColor] 

या

let gradient:CGGradient = CGGradient(colorsSpace: CGColorSpaceCreateDeviceRGB(), colors:[fromColor.cgColor, toColor.cgColor], locations:[0.0, 1.0])! 

त्रुटि है: प्रासंगिक प्रकार 'CFArray' नहीं कर सकते सरणी के साथ प्रयोग किया जाना चाहिए

सरणी से CFArray में कनवर्ट करने का नवीनतम तरीका क्या है?

उत्तर

38

यह काम करता है अगर तुम डाली as CFArray जोड़ें: स्विफ्ट 3 (Xcode 8 बीटा 6), करने के लिए अंतर्निहित कास्टिंग में

let gradient = CGGradient(colorsSpace: CGColorSpaceCreateDeviceRGB(), colors:[fromColor.cgColor, toColor.cgColor] as CFArray, locations:[0.0, 1.0])! 

:

let colors = [fromColor.cgColor, toColor.cgColor] as CFArray 

या आपको कॉल में डाली जोड़ सकते हैं ब्रिज प्रकार has been removed. कुछ मामलों में, इस तरह, आपको इसे काम करने के लिए स्पष्ट कास्टिंग जोड़ने की आवश्यकता होगी।

+0

स्विफ्ट 3.0 –

+0

@ 能 蟹 仔 के साथ नवीनतम संस्करण में काम नहीं करता है, मैंने अभी सत्यापित किया है कि यह अभी भी स्विफ्ट 3.0 के साथ जारी एक्सकोड 8 में काम करता है। यदि आपके पास ऐसा कोई उदाहरण है जो काम नहीं करता है, तो इसे एक नए प्रश्न के रूप में पोस्ट करें। – vacawama

+0

http://stackoverflow.com/q/39553958/1591907 –

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