2017-04-25 12 views
0

The question is the same as this one비공개 공개/신속한 카테고리로 쓰기 전용으로 읽기 전용으로 설정 하시겠습니까?

그러나 스위프트에 대한 해결책이 필요합니다. 스위프트에서 일반적으로 가능하다면? 물론 객관적인 C 파일을 생성하지 않고 신속한 코드로 가져 오지 않는 해결책을 의미합니다.

+0

getter/setter가 비공개로 통화를 전달하는 내선에서 공용 속성을 만들면됩니다. 뭐가 문제 야? – Alexander

+0

@Alexander 문제는 확장 기능에서 개인용 vars에 액세스 할 수 없다는 것입니다. 작동하지 않습니다. –

+0

@GrzegorzKrukowski이 제안이 구현 될 때까지는 'fileprivate'로 만들어야합니다. https://github.com/apple/swift -evolution/blob/master/proposals/0169-improve-interaction- between-private-declarations-and-extensions.md – Alexander

답변

2

아니요 - 현재의 Swift 3 버전에는 없습니다.

변수가 "개인"으로 정의 되어도 확장에서 액세스 할 수 없으며 하위 클래스로 분류 할 수도 없습니다.

"개인"변수를 "fileprivate"또는 "internal"로 만들 수있는 경우 공용 메서드를 통해 해당 변수를 노출 할 수 있습니다. 당신은 기본 클래스에서 private 변수를 반환합니다 공공 기능을 할 수 있어야합니다 - https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/AccessControl.html

당신은 스위프트 2로 작업하는 경우는 다음과 같습니다

애플에서 해당에 대한 문서입니다.