2015-10-28 11 views
6

ich diese Fehlermeldung: „Mehrdeutige Bezug auf Mitglieder Index'“, wenn ich versuche, die Farbe zu ändern:Mehrdeutige Bezug auf Mitglieder Index '

struct color { 
    var r : Float 
    var g : Float 
    var b : Float 
} 

func setPixels(image:[color], pixel: Int) { 
    let alpha: Float = 1.0 
    let pixelView = view.viewWithTag(pixel) as! UIImageView 
    pixelView.backgroundColor = UIColor(
     red: image[pixel].r, //Error: Ambiguous reference to member 'subscript' 
     green: image[pixel].g, 
     blue: image[pixel].b, 
     alpha: alpha) 
} 

Antwort

2

Float es nicht das gleiche wie CGFloat ist. Sie müssen eine CGFloat an die UIColor übergeben. Hinweis: Sie sollten Ihre Strukturen mit einem Großbuchstaben beginnen.

struct Color { 
    let r: CGFloat 
    let g: CGFloat 
    let b: CGFloat 
} 

class ViewController: UIViewController{ 
    func setPixels(image: [Color], pixel: Int) { 
     let alpha: CGFloat = 1 
     let pixelView = view.viewWithTag(pixel) as! UIImageView 
     pixelView.backgroundColor = UIColor(
      red: image[pixel].r, 
      green: image[pixel].g, 
      blue: image[pixel].b, 
      alpha: alpha 
     ) 
    } 
}