본문 바로가기
iOS

iOS 실무10주차

by asd135 2025. 5. 7.
728x90

테이블뷰에 대한 제약 조건을 추가

 

에러 이유?

프로토콜에 필수 메서드가 있는데 준수하지 않아서 나는 에러

 

 

셀에 데이터가 없기 때문에 셀에 아무것도 보이지 않음

 

셀을 추가하고, 제약 조건을 추가

 

didSelectRowAt 메서드

특정 셀을 선택했을 때 didSelectRowAt 메서드가 호출된다.

 

cellForRowAt은 언제 호출되나?

스크롤을 움직일 때마다 호출 됨


URL은 옵셔널을 반환하기 때문에 풀어서 사용해야 함

 

if let 

    func getData() {
        if let url = URL(string: movieURL) {
            print(url)
        }
    }

 

guard let 중요

    func getData() {
        guard let url = URL(string: movieURL) else { return }
        print(url)
    }

함수내부에서 옵셔널을 풀 경우에는 guard let이 가독성이 좋음

 

 

엔터를 누르면 후행 클로저 스타일로 변경해줌

 

영화진흥위원회 서버에서 데이터를 가져옴

 

// This file was generated from JSON Schema using quicktype, do not modify it directly.
// To parse the JSON, add this file to your project and do:
//
//   let welcome = try? JSONDecoder().decode(Welcome.self, from: jsonData)

import Foundation

// MARK: - Welcome
struct Welcome {
    let boxOfficeResult: BoxOfficeResult
}

// MARK: - BoxOfficeResult
struct BoxOfficeResult {
    let boxofficeType, showRange: String
    let dailyBoxOfficeList: [DailyBoxOfficeList]
}

// MARK: - DailyBoxOfficeList
struct DailyBoxOfficeList {
    let rnum, rank, rankInten: String
    let rankOldAndNew: RankOldAndNew
    let movieCD, movieNm, openDt, salesAmt: String
    let salesShare, salesInten, salesChange, salesAcc: String
    let audiCnt, audiInten, audiChange, audiAcc: String
    let scrnCnt, showCnt: String
}

enum RankOldAndNew: String {
    case old
}

 

chat-gpt 생성

struct MovieData: Codable {
    let boxOfficeResult: BoxOfficeResult
}

struct BoxOfficeResult: Codable {
    let boxofficeType: String
    let showRange: String
    let dailyBoxOfficeList: [DailyBoxOffice]
}

struct DailyBoxOffice: Codable {
    let rnum: String
    let rank: String
    let rankInten: String
    let rankOldAndNew: String
    let movieCd: String
    let movieNm: String
    let openDt: String
    let salesAmt: String
    let salesShare: String
    let salesInten: String
    let salesChange: String
    let salesAcc: String
    let audiCnt: String
    let audiInten: String
    let audiChange: String
    let audiAcc: String
    let scrnCnt: String
    let showCnt: String
}

'iOS' 카테고리의 다른 글

iOS 실무 12주  (0) 2025.05.21
iOS 실무11주  (0) 2025.05.14
iOS 실무 9주차  (0) 2025.05.05
iOS 실무 7주차  (0) 2025.04.16
iOS 실무 6주차  (0) 2025.04.09