2015-09-18 2 views
0

Я следую учебник по этой ссылке: http://www.raywenderlich.com/97014/use-cocoapods-with-swift'[String]' не конвертируется в "[NSString]

Согласно Xcode, есть ошибка на линии

var components = (string as NSString).componentsSeparatedByString(",") as! [NSString] 

It говорит, что '[String]' не конвертируется в '[NSString]'. Что именно происходит, и как мне его исправить?

Спасибо! Вот код:

import UIKit 

func RGB(red: CGFloat, green: CGFloat, blue: CGFloat) -> UIColor { 
    return RGBA(red, green: green, blue: blue, alpha: 255) 
} 

func RGBA(red: CGFloat, green: CGFloat, blue: CGFloat, alpha: CGFloat) -> UIColor { 
    return UIColor(red: red/255, green: green/255, blue: blue/255, alpha: alpha/255) 
} 

extension UIColor { 

    class func RGBAColorFromString(string: String?) -> UIColor? { 

    if let string = string { 

     var components = (string as NSString).componentsSeparatedByString(",") as! [NSString] 

     if components.count == 3 { 
     components.append("1.0") 
     } 

     if components.count != 4 { 
     return nil 
     } 

     let red = CGFloat(components[0].floatValue/255) 
     let green = CGFloat(components[1].floatValue/255) 
     let blue = CGFloat(components[2].floatValue/255) 
     let alpha = CGFloat(components[3].floatValue/255) 

     return UIColor(red: red, green: green, blue: blue, alpha: alpha) 
    } 

    return nil 
    } 
} 

ответ

1

Он работает с этим синтаксисом:

var components = string.componentsSeparatedByString(",") as [NSString] 
+0

Я удивлен, потому что его код работает хорошо для меня. –

+0

Код OP отлично в Swift 1.2, ошибка для Swift 2 (но на самом деле OP не предоставил эту информацию, я собираюсь добавить тег swift2 на свой вопрос, когда смогу (на данный момент есть ожидающее предлагаемого редактирования)). – Moritz

+0

Спасибо за информацию buddy .. :) –

Смежные вопросы