2017-03-16 4 views
0

UIImageView型の配列の内部に値を追加したいとします。追加する必要がある値は、他の値に依存します。これは私の配列の私の宣言です:独自の初期値で使用される変数

var images: [UIImage] = [UIImage(named: "")!] 

そして、これは私のコードです:

  let cardIndex = playableCards.index (where: { $0.currentTitle! == button.currentTitle! }) 
      { 
       images[cardIndex] = [UIImage(named: "")!] 

      } 

ありません、私は私がここで間違ってやっているかと思っています。私はちょうどそのcardIndexのインデックスに値を追加したいと思います。私も前にこれを追加しようとしました:

while howManyCardsNeedsToBeUnlocked != 0{ 
     images.append(UIImage(named: "")!) 
     howManyCardsNeedsToBeUnlocked - 1 
    } 

イメージには常にインデックスが付いています。ご協力ありがとうございました。

答えて

1

playableCards.index (where: { $0.currentTitle! == button.currentTitle! })はオプションです。使用する前に値をアンラップする必要があります。私はコンパイラが間違ったエラーを与えていると思うし、値をアンラップするように指示する必要があります。私はif letと下にそれをアンラップします。

if let cardIndex = playableCards.index(where: { $0.currentTitle! == button.currentTitle! }) { 
    images[cardIndex] = UIImage(named: "")! 
} 
+0

実際にうまくいきました...初めてSwiftがバグです>>(...「UIImage(名前:「」)への回答を編集できますか?それをテストする時間はありませんが、Swiftは "[]"を使用するとエラーになります。6分緑色のマークにチェックするのを待つ必要があります – NoKey

+0

これは素早いバグではなく、 "if" –

+0

これは長い6分間でした:P – NoKey

関連する問題