2015-10-28 3 views
6

я получаю эту ошибку: «неоднозначные ссылку на член" подстрочный», когда я пытаюсь изменить цвет:Неоднозначность ссылка на член «подстрочный»

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) 
} 

ответ

2

Float это не то же самое, как CGFloat. Вы должны передать CGFloat в UIColor. Примечание. Вы должны называть свои структуры, начиная с большой буквы.

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 
     ) 
    } 
} 
Смежные вопросы