2016-06-15 3 views
0

코드를 추가 할 수있는 클래스의 확장 기능을 작성하는 목적이 무엇인지 궁금합니다. Ray Wenderlich's AlamoFire 튜토리얼 예를 들어Swift Extensions

,

그는의 ViewController 클래스를 가지고 있지만, 그는 자신의 네트워킹 기능 및 UIImagePickerControllerDelegate 방법에 대한 그의 ViewController에 대한 확장을 기록합니다. 그가 확장 기능을 쓰는 유일한 이유는 코드를 논리적 비트로 나눌 목적일까요?

이것은 일반적인 관행입니까 아니면 개인적인 취향입니까?

답변

4

이것은 Apple이하는 것입니다. 코드를 보면 (Array 구조체라고 가정 해보십시오) 프로토콜에 대한 모든 준수가 인데 확장 내에서으로 캡슐화 된 것을 볼 수 있습니다.

유일한 차이점은 코드를 분리하는 것입니다. 그러나 그것은 당신에게 달려 있습니다.

2

일반적인 관행인지는 확실치 않지만 코드 분할 영역이 만들어지기 때문에 코드를 작성합니다. 무언가가 필요한 경우 지정된 확장자로 이동하십시오. 그러나 나는 그것이 단지 개인적 취향이라고 믿습니다.

1

언급되지 않은 한 가지 사용 : 소스 코드에 추가하면 액세스 할 수 없습니다.

0

이것은 컨벤션, 애플은 개인적으로 다음입니다.

개인적으로는 커다란 획일적 인 클래스를 작고 관리하기 쉬운 부분으로 분해 할 수 있기 때문에 개인적으로 많이 좋아합니다.

특히, 프로토콜 준수를 확장하면 코드가 훨씬 쉽게 읽을 수 있습니다. Objective-C의 #pragma mark 전 처리기 매크로와 비슷한 용도로 사용됩니다.