yannickl/DynamicColor

Thoughts on making hexString init failable?

rudedogg opened this issue · 0 comments

Would you accept a PR to make the hexString init failable, so it'd return nil rather than a black color?

Something like:

  public convenience init?(hexString: String) {
    let hexString = hexString.trimmingCharacters(in: .whitespacesAndNewlines)
    let scanner   = Scanner(string: hexString)

    if hexString.hasPrefix("#") {
      scanner.scanLocation = 1
    }

    var color: UInt32 = 0

    if scanner.scanHexInt32(&color) {
      self.init(hex: color, useAlpha: hexString.count > 7)
    }
    else {
      return nil
    }
  }