2014-09-29 1 views
4

가 나는 스위프트 초기화에 속성을 초기화하는 것은 모두 사용하여 작동 것으로 나타났습니다 초기화하기 ? 그렇지 않다면, 다른 하나를지지하는 협약이 있습니까?차이는

답변

10

처음에는 명시 적으로 클래스/구조체 속성이지만 2 번째에서는 암시 적입니다. 하지만 한 가지 큰 차이점이 있습니다. 같은 이름을 가진 지역 변수 (예 : init에 전달 된 매개 변수)가 있으면 class/struct 속성을 숨기고 우선합니다.

우선 나는 항상 self을 사용하여 명시 적으로 지정하는 것을 선호합니다. 또한 클래스 속성에 액세스 할 때 발생하는 일반적인 오류는 피하고 대신 로컬 변수 또는 함수 매개 변수를 사용하고 있습니다.