UITableView
のセルが押されると、クリックされた最初のセルで以前に使用されていたのと同じ画像とラベルを持つ新しいViewController
が開きます。ここでUITableViewCellが押されたときのUIViewController
は私の細胞である:ここでは 私が使用しています配列です。ここで
let alligator:NSArray = ["American Alligator","American Crocodile","Mugger Crocodile","Saltwater Crocodile"]
はnumberOfRowsInSection and cellForRowAt
次のとおりです。ここで
public func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return(alligator.count)
}
public func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell4 = tableView.dequeueReusableCell(withIdentifier: "cell4", for: indexPath) as! AlligatorViewCell
cell4.alligatorImage.image = UIImage.init(named: alligator[indexPath.row] as! String + ".jpg")
cell4.alligatorLabel.text = alligator[indexPath.row] as? String
return(cell4)
}
は、詳細ビューコントローラのための私の店です。
@IBOutlet var detailImage: UIImageView! @IBOutlet var detailLabel: UILabel!
そして、ここではdidSelectRowAt
public func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
detailImage.image = UIImage.init(named: alligator[indexPath.row] as! String + ".jpg")!
detailLabel.text = alligator[indexPath.row] as? String
ある問題は、私はあなたが呼び出すときdetailImage
が存在しないため、あなたのエラーが発生していると信じて、私はセルを押したときに、私はエラーを取得することfatal error: Unexpectedly found nil while Unwrapping Optional
は、問題は何ですか?あなたは別のビューコントロールにセグエイティングを試みたことがありますか? SOにはこれを行う方法に関する記事がたくさんあります。私はそれらを見てみることをお勧めします。 –
セグ部がうまくいきます。ラベルと画像に問題があるだけです。 – Pannu
おそらく、存在しない画像を呼び出している可能性があります。 UIImage.initの文字列がアップロードしたファイル名と一致することを確認してください。 –