2

また。

ファイルで次のコードを使用して、ディクショナリのシングルトンの例を完成させましたRecipes.swift

 static let sharedInstance = Recipes()

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

そして、プロセスが終了すると、このコードがあります

let singleton = Recipes.sharedInstance
singleton.imagesOfChef = self.imagesOfChef

つまり、singletonhas と同じ辞書をimagesOfChef持っています。

次のビューでは、ディクショナリのすべてのデータにアクセスし、ボタンの背景イメージをディクショナリにある画像の 1 つに設定します。だからcellForItemAtIndexPath私は次のコードを持っています

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

    }

}

したがって、シェフのオブジェクト ID がディクショナリ内のオブジェクト ID と一致する場合、同じ行にある画像を背景として設定したいと考えています。

しかし、そうではありません!

if statement正しい場合でも、画像を印刷しようとすると、

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

この画像を背景として設定するにはどうすればよいですか??!?!

どうもありがとう!

4

1 に答える 1

1

プログラムで作成された場合は、ボタンの種類をカスタムに設定します

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

ストロイボードからの場合は、そこでタイプを変更します。

于 2016-08-16T05:55:10.177 に答える