편의성 초기화 인 스위프트

쿠옹 팜
쿠옹 팜

팔로우

2017 년 5 월 23 일·2 분 읽기

클래스,구조체 및 열거 형은 인스턴스를 준비하기 위해 초기화하려면 적어도 하나의 빈 초기화 메소드가 필요합니다.

구조체 및 열거형의 경우 해당 생성자는 이미 암시 적으로 선언되었습니다.

우리가 클래스를 작성하는 경우 클래스에 대해,우리는 명시 적으로 선언해야합니다.

좋아,그것은 바로,좋은?

그러나 클래스에는 상속이 있으므로 수퍼 클래스 메소드,속성 및 기타 특성을 상속 할 수 있습니다. 의 아래의 다음 코드로 이동하자

우리는 클래스의 하위 클래스를 가지고 있습니다. 변수를 추가하고 이니셜라이저를 추가하여 값을b로 설정하여 컴파일합니다. BA의 이니셜라이저,init(a: Int)를 상속했다고 예상할 수 있습니다. 그러나 그렇지 않습니다.Ainit(a: Int)B이 추가 한b변수에 값을 할당하는 방법을 어떻게 알 수 있습니까? 그래서 우리는 다음과 같이 모든 값을 초기화 할 수없는 이니셜 라이저로B인스턴스를 초기화 할 수 없습니다:

그래서 나는 단지 초기화 할 경우 또는 비 값,나머지의 기본값. 어떻게 그럴 수 있니?

편의 초기화그것은 우리를 도울 것입니다,이 코드를 추가하십시오

그래서 우리는B인스턴스를 초기화하는 매우 편리한 방법을 가지고 있습니다.

그게 다야! 나는 당신이이 기사를 즐기시기 바랍니다,읽어 주셔서 감사합니다 나는 당신에게 다음 번에 볼 수 있습니다.