-
카테고리
-
세부 분야
모바일 앱 개발
-
해결 여부
미해결
extension에서 init 가능여부
22.04.03 03:13 작성 조회수 106
0
선생님 안녕하세요 extension에서 질문이 있습니다.
1. Guest, Vip 도 Member처럼 Init을 하고싶을 때 extension에 넣으면 안되는건가요?
extension UserInfo {
init(name: String, age: Int) {
self.name = name
self.age = age
}
func isAdult() -> Bool{
if age > 19 {
return true
}
return false
}
}
=====================================
2. extension에 init을 못넣는다면 세가지 class모두 init을 쓰고싶을 땐 어떻게 하는게 좋을까요?
3. extension에 넣을 수 있는 것과 없는 것이 대략적으로 궁금합니다.
답변을 작성해보세요.
1
iOS Developer - 이정
지식공유자2022.04.04
안녕하세요
기본 init은 해당 class를 초기화 과정의 필수요소 입니다.
그러니 기본 init은 extension같은 class이외의 공간에서 설정할 수 없습니다.
그러므로 각각의 class init은 각각 구현하는게 맞습니다.
extension에서 convenience init은 가능합니다.
대신 convenience init은 기본 init이 반드시 있어야 하고 호출되어야 합니다.
답변 1