[iOS] 영화 예매 앱 프로젝트 2일차

황석범·2024년 12월 16일
0

내일배움캠프_iOS_5기

목록 보기
46/76

영화 예매 앱 만들기 팀프로젝트 2일차다, APIManger와 Model을 구현했다.

APIManager 추가, Movie 모델 추가

  • APIManger를 싱글톤 객체로 생성
static let shared = APIManager()

APIManger 메서드

1. 현재 상영중인 영화 목록 가져오기

  • func fetchNowPlayingMovies()
  • 파라미터: page: Int
  • 모델:
      struct Movie: Decodable {
      let id: Int
      let title: String
    }

struct MovieResponse: Decodable {
let results: [Movie]
}


#### 2. 개봉 예정 영화 목록 가져오기
 - func fetchUpcomingMovies()
 - 파라미터: page: Int
 - 모델:
 
 ```swift
    struct Movie: Decodable {
    let id: Int
    let title: String
}

struct MovieResponse: Decodable {
    let results: [Movie]
}

3. 인기있는 영화 목록 가져오기

  • func fetchPopularMovies()
  • 파라미터: page: Int
  • 모델:
    struct Movie: Decodable {
    let id: Int
    let title: String
}

struct MovieResponse: Decodable {
    let results: [Movie]
}

4. 개봉 예정 영화 목록 가져오기

  • func fetchTopRatedMovies()
  • 파라미터: page: Int
  • 모델:
    struct Movie: Decodable {
    let id: Int
    let title: String
}

struct MovieResponse: Decodable {
    let results: [Movie]
}

5. 이미지 가져오기

  • func fetchMovieImages()
  • 파라미터: movieID: Int
  • 모델: x

6. 영화 세부 정보 가져오기

  • func fetchMovieDetails()
  • 파라미터: movieID: Int
  • 모델:
struct MovieDetails: Decodable {
    let title: String
    let overview: String
    let releaseDate: String
    let runtime: Int
    let genres: [Genres]
    
    enum CodingKeys: String, CodingKey {
        case title, overview, runtime
        case releaseDate = "release_date"
        case genres
    }
}

7. 영화 키워드 목록 가져오기

  • fetchKeywordsMovies()
  • 파라미터: movieID: Int
  • 모델:
struct Keyword: Decodable {
    let id: Int
    let name: String
}

struct KeywordResponse: Decodable {
    let id: Int
    let keywords: [Keyword]
}

8. 키워드로 영화 검색

  • searchForKeyWordMovies()
  • 파라미터: page: Int, keyWord:String
  • 모델:
struct SearchKeyword: Decodable{
    let id: Int
    let name: String
}

struct SearchKeywordResponse: Decodable {
    let results: [SearchKeyword]
}
profile
iOS 공부중...

0개의 댓글

관련 채용 정보