inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

iOS12 앱 개발 퍼펙트 가이드

meal cell 클릭시 화면 이동 문제

379

cjg4970

작성한 질문수 4

0

meal cell 클릭 -> 아무 변화 없음 

다시 클릭 -> 이전에 클릭했던 meal cell의 정보가 Detail VC에 출력됩니다. 

예를 들면 스파게티를 클릭하면 아무 변화가 없습니다. 그러나 그 다음 케밥이나 파스타를 클릭하면 스파게티 화면이 출력됩니다.

아래는 코드 전문입니다.

//

//  ViewController.swift

//  foodMaker2

//

//  Created by Choi Joon on 2021/02/26.

//

import UIKit

class ViewController: UIViewController {

    

    @IBOutlet weak var myTF: UITableView!

    var mealLists = [MealModel]()

    

    

    override func viewDidLoad() {

        super.viewDidLoad()

        //xib파일을 만들었으면 이렇게 따로 등록을 해줘야함.

        //nilName에는 파일명을 적고 forCellReuseIdentifier에는 identifier를 적는다.

        myTF.register(UINib(nibName: "MealCell", bundle: nil), forCellReuseIdentifier: "mealCell")

        

        //더미데이터를 생성 : 해당 데이터들을 MealModel에 넣음

        let dummy1 = MealModel.init(name: "스파게티", photo: UIImage(named: "meal1"), rating: 3)

        //리스트에 추가

        mealLists.append(dummy1)

        let dummy2 = MealModel.init(name: "케밥", photo: UIImage(named: "meal2"), rating: 4)

        mealLists.append(dummy2)

        let dummy3 = MealModel.init(name: "파스타", photo: UIImage(named: "meal3"), rating: 5)

        mealLists.append(dummy3)

    }

    //segue가 작동될때 호출되는 함수

    override func prepare(for segue: UIStoryboardSegue, sender: Any?) {

        //segue의 종류를 identifier로 구분 

        if segue.identifier == "presentDetail"{

            

        }else if segue.identifier == "showDetail"{

            //segue의 도착 VC 설정

            let detailVC = segue.destination as! MealDetailViewController

            //클릭한 셀의 인덱스 정보를 가져옴

            let selectedIndexPath = sender as! IndexPath

            //해당 인덱스의 mealModel을 MealDetailViewController의 mealModel에 전달

            detailVC.mealModel = mealLists[selectedIndexPath.row]

            

            

            

        }

    }

    

}

extension ViewController : UITableViewDelegate{

    func tableView(_ tableView: UITableView, didDeselectRowAt indexPath: IndexPath) {

        performSegue(withIdentifier: "showDetail", sender: indexPath)

    }

    

    //cell의 높이 지정

    func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {

        return 100

    }

}

extension ViewController : UITableViewDataSource{

    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {

        return mealLists.count

    }

    

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

        // as! MealCell : MealCell.swift 코드에 접근

        // withIdentifier : xib 파일에 존재하는 cell에 접근

        let mealCell = tableView.dequeueReusableCell(withIdentifier: "mealCell", for : indexPath) as! MealCell

        // MealModel의 데이터들을 mealCell로 전달( indexPath로 접근 )

        mealCell.name.text  = mealLists[indexPath.row].name

        mealCell.mealImageView.image = mealLists[indexPath.row].photo

        mealCell.ratingView.rating = mealLists[indexPath.row].rating

        return mealCell

    }

    

    

}

ios swift

답변 1

0

iOS Developer - 이정

안녕하세요

didDeselect...가 아닌

 didSelectRowAtIndexPath에 코드를 넣으시면 될 것 같습니다.

감사합니다.

강의 정리 및 개인 공부

0

278

1

DispatchQueue 질문입니다.

0

575

1

log in 강의 질문드립니다.

0

304

1

meal cell 클릭시 화면이동 불가

0

347

2

import CreateMLUI 이 안됩니다.

0

241

1

Stop Watch 질문

0

350

2

SignIn ViewController와 SignUp ViewController가 꽉 차지 않는 이유가 궁금합니다.

0

261

1

createMLUI가 import되지 않습니다

0

460

1

plist에 nsallowsarbitraryloads 추가시에도 http통신이 안됩니다

0

903

1

질문드립니다~

0

355

1

질문드립니다.

0

278

2

view와 Viewcontroller의 관계에 대해서 질문 드립니다.

0

222

1

stopwatch 강의 중 시간단위 변경에 대해 질문드립니다.

0

376

2

VNCoreMLRequest 실행 안됨

0

376

2

autolayout attr

0

207

0

Sign in 할때 발생하는 에러가 왜 나타나는지 모르겠습니다.

0

344

1

강의 관련 소스 코드 공유 부탁 드립니다.

0

363

2

별표시부분에 색깔이 칠해는거 없애려면 어떻게 하면 될까요?

0

252

1

반드시 required init을 생성해야하는 이유가 뭔가요??

0

952

1

3:20~ 3: 30 초에 rating 값을 0 으로 만들어 준다고했는데 왜 0으로 만들어주는 코드가 없죠?

0

254

1

질문입니다.

1

254

3

강사님 안녕하세요

0

158

1

MealDetailViewController에서 이미지 가져오지 못하는 문제

0

213

1

?? 설명하실 때요.

0

238

1