非常に奇妙な動作が見られます。サポートが必要です。もともと 1 つのラベルがあり、タグが 43 のコレクション ビュー セルがあります。
次のコードを使用して、ラベルの値を設定しています。
func collectionView(collectionView: UICollectionView!, cellForItemAtIndexPath indexPath: NSIndexPath!) -> UICollectionViewCell! {
let object = self.fetchedResultsController.objectAtIndexPath(indexPath) as NSManagedObject
let cell = collectionView.dequeueReusableCellWithReuseIdentifier("playerCell", forIndexPath: indexPath) as UICollectionViewCell
cell.backgroundColor = UIColor.orangeColor()
let mintmplabel : UILabel = cell.viewWithTag(43) as UILabel
mintmplabel.text = "fruktkaka"
//(cell.viewWithTag(43) as UILabel).text = object.valueForKey("playerName").description
//let mintmplabelb : UILabel = cell.viewWithTag(41) as UILabel
//mintmplabelb.text = "megaman"
//(cell.viewWithTag(41) as UILabel).text = object.valueForKey("playerName").description
return cell
}
期待どおりに動作します!ただし、後でコレクション ビュー セルに別のラベルを追加して、41 のタグを付けようとしました。行のコメントを外すと、
//let mintmplabelb : UILabel = cell.viewWithTag(41) as UILabel
//mintmplabelb.text = "megaman"
次のエラーが表示されます(「let」行で):
致命的なエラー: オプション値のラップ解除中に予期せず nil が見つかりました (lldb)
現在のメッセージはソース コードに示されています: "Thread 1: EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, sub code =0x0)"
さまざまなアプローチを試しましたが、うまくいきません。また、両方のラベルを削除して、(同じタグで) 再度追加しようとしました。これにより、タグ 43 と 41 の両方のラベルが壊れます。
タグの使用方法について何かが欠けているか、何らかのバグに出くわしました。
Xcode 6 ベータ 5 を使用しています。
詳しい情報を探す場所がわかりません。
ありがとう/マーティン