2016-08-13 2 views
2

wieder festgelegt.UIButton Hintergrundbild wird nicht von Singleton Wörterbuch

Ich habe gerade ein Singleton Beispiel eines Dictionary mit dem folgenden Code an der Datei Recipes.swift

static let sharedInstance = Recipes() 

var imagesOfChef = [Int : chefImages]() 
struct chefImages { 
     var objidChef: String! 
     var imageChef: UIImage! 
    } 

Und wenn ein Prozess, ich habe

let singleton = Recipes.sharedInstance 
singleton.imagesOfChef = self.imagesOfChef 
diesen Code beendet ist

So ist die singleton hat das gleiche Wörterbuch wie die imagesOfChef hat.

In der nächsten Ansicht möchte ich auf alle Daten des Dictionary zugreifen und ein Hintergrundbild der Schaltfläche mit einem der Bilder, die das Wörterbuch hat, festlegen. So in der cellForItemAtIndexPath Ich habe den folgenden Code

let test = userPointer.objectId 
    let otherReferenceToTheSameSingleton = Recipes.sharedInstance 




for i in 0...otherReferenceToTheSameSingleton.imagesOfChef.count - 1 { 
    print(otherReferenceToTheSameSingleton.imagesOfChef[i]!.objidChef) //it prints the object id's of the Chef normally 

    if otherReferenceToTheSameSingleton.imagesOfChef[i]!.objidChef == test! { 
     print("done") 
     print(otherReferenceToTheSameSingleton.imagesOfChef[i]!.imageChef) 
     cell.avatarOutlet.setImage(otherReferenceToTheSameSingleton.imagesOfChef[i]!.imageChef, forState: .Normal) //but it doesnt set the Image as a background 

    } 

} 

Also, wenn das Objekt-ID des Chef des Objekts entspricht id, die innerhalb der Definition i als Hintergrund einstellen das Bild wollen, die in der gleichen Reihe ist.

Aber das tut es nicht!

Obwohl, wenn die if statement korrekt ist, wenn Sie sehen, ich versuche, das Bild zu drucken, und ich bekommen

<UIImage: 0x1582c9b50>, {60, 60} 

Wie ist es möglich, das Bild als Hintergrund einstellen ??!?!

Vielen Dank!

+0

Ist Ihre Schaltfläche programmgesteuert erstellt? – Sofeda

Antwort

1

Knopfart benutzerdefinierten Satz, wenn es programmatisch erstellt

let button = UIButton(type: UIButtonType.Custom) as UIButton 

Wenn es von Stroyboard ist es die Art zu ändern.

+0

Oh .. ja das war die Lösung! –

Verwandte Themen