패스트캠퍼스) ios 개발 챌린지

[패스트캠퍼스 수강 후기] IOS개발강의 100% 환급 챌린지 28회차 미션

student513 2020. 11. 29. 21:42

오늘 배운 것은 테이블뷰 프로토콜이다.

프로토콜이란 규약이라는 뜻으로, 테이블뷰를 구현하기 위한 규칙이라고 볼 수 있겠다.

테이블 뷰의 프로토콜이란
대표적으로 위와 같은 테이블뷰 프로토콜이 있다.
그 중 오늘은 2개에 대해 구현을 해보았다.

오늘은 진도를 쑥쑥 나가서 살짝 따라가기가 벅찼다.

코드도 눈에 익지 않은 모르는 내용들이 많이 나왔다. 

리액트 앱 처음 만들 때랑 비슷한 느낌이다.

코드 외에도 와이어로 이어준 것도 많아서 복습을 할 수 있을지 모르겠다.

 

class BountyViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {

    let nameList = ["brook", "chopper", "franky", "luffy", "nami", "robin", "sanji", "zoro"]
    let bountyList = [33000000, 50, 4400000, 30000000, 16000000, 8000000, 7700000, 12000000]
    
    override func viewDidLoad() {
        super.viewDidLoad()

        // Do any additional setup after loading the view.
    }
    
    //UITableViewDataSource
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return bountyList.count
    }
    
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        guard let cell=tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as? ListCell else  {
            return UITableViewCell()
        }
        let img = UIImage(named: "\(nameList[indexPath.row]).jpg")
        cell.imgView.image = img
        cell.nameLable.text = nameList[indexPath.row]
        cell.bountyLable.text = "\(bountyList[indexPath.row])"
        return cell
    }
    
    //UITableViewDelegate
    func tableView(_ tableView: UITableView,
        didSelectRowAt indexPath: IndexPath){
        print("-->\(indexPath.row)")
    }
  
}

class ListCell: UITableViewCell {
    @IBOutlet weak var imgView: UIImageView!
    @IBOutlet weak var nameLable: UILabel!
    @IBOutlet weak var bountyLable: UILabel!
}

 

 

그리하여 나온 결과물은 다음과 같다.

이렇게 간단한 앱을 구현하는데도 모르는 개념이 아직 많다.

올인원 패키지 : iOS 앱 개발👉https://bit.ly/2FjWizq