Network에서 데이터를 가지고 올 수 있으면 let으로 만들어도 됨.
다만 Optional로 쓰기 위해서 var로 만듬.
import UiKit
struct Movie {
var movieImage: UIImage?
let movieName: String
let movieDescription: String
}
생성시 키나 절대값을 주고 싶을때
struct Member {
//이미지가 없다면 굳이 생성하지 않도록 지연 저장 속성 lazy
lazy var memberImage: UIImage? = {
//이름이 없다면, 시스템 사람이미지 기본 셋팅
guard let name = name else { return UIImage(systemName: "person") }
return UIImage(named: "\\(name).png") ?? UIImage(systemName: "person")
}()
//멤버의 절대적 순서를 위한 타입 저장 속성
static var memberNumbers: Int = 0
let memberId: Int
let name: String?
let age: Int?
let phone: Int?
var address: String?
init(name: String?, age: Int?, phone: Int?, address: String? = nil) {
self.memberId = Member.memberNumbers
// self.memberId = Member.memberNumbers == 0 ? 0 : Member.memberNumbers
self.name = name
self.age = age
self.phone = phone
self.address = address
//멤버를 생성한다면, 항상 타입 저장속성의 정수값 +.
Member.memberNumbers += 1
}
}