【问题标题】:'[String]' is not convertible to '[NSString]'“[String]”不能转换为“[NSString]”
【发布时间】:2015-09-18 11:36:28
【问题描述】:

我正在关注此链接上的教程:http://www.raywenderlich.com/97014/use-cocoapods-with-swift

根据Xcode,有错误就行了

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

它说“[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
  }
}

【问题讨论】:

    标签: ios string swift nsstring swift2


    【解决方案1】:

    它使用以下语法:

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

    【讨论】:

    • 我很惊讶,因为他的代码对我来说运行良好。
    • OP 的代码在 Swift 1.2 中很好,错误是针对 Swift 2 的(但实际上 OP 没有提供此信息,我将尽可能将 swift2 标签添加到他们的问题中(对于现在有一个待定的建议编辑))。
    • var components: [NSString] = string.componentsSeparatedByString(",") 也可以。
    • 非常感谢!苹果不允许使用“as!”的理由是什么?并改用“as”?
    • @osibm as!as? 在您不知道是否可以进行转换(转换)时使用。如果无法进行转换,as! 将在运行时崩溃,as? 将返回 nil。但是,[string][NSString]总是可能的。我们知道在编译时,这就是为什么必须使用as
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-21
    • 2011-04-02
    相关资源
    最近更新 更多