programing

속성 유형이 내부 유형을 사용하므로 public으로 선언할 수 없습니다.

subpage 2023. 10. 16. 21:51
반응형

속성 유형이 내부 유형을 사용하므로 public으로 선언할 수 없습니다.

나는 두개의 클래스를 만들었습니다.Content그리고.Bucket.Bucket다음 배열을 포함합니다.Content물건과 공공 재산을 통해 그것을 노출하는 것입니다.그러나 이렇게 하면 다음과 같은 오류가 발생합니다.

속성 유형이 내부 유형을 사용하므로 public으로 선언할 수 없습니다.

enter image description here

이것이 왜 오류를 일으키고 있는지에 대한 생각이 있습니까?

의 액세스 레벨을 선언해야 합니다.Content일반인들도 마찬가지입니다.

public class Content {
   // some code
}

문서에 명시된 바와 같이:

공용 변수가 사용되는 모든 곳에서 해당 유형을 사용할 수 없기 때문에 공용 변수를 내부 또는 개인 유형으로 정의할 수 없습니다.

클래스는 다음과 같이 선언됩니다.internal기본적으로 추가해야 합니다.public공개하는 키워드.

함수에 대해서도 비슷한 규칙이 있습니다.

함수의 구성 유형을 주변 코드에서 사용할 수 없는 상황에서 함수를 사용할 수 있으므로 함수는 매개 변수 유형 및 반환 유형보다 높은 액세스 수준을 가질 수 없습니다.

Contentpublic으로 선언해야 합니다.

public class Content {
  …
}

사용 사례에 따라 선언할 수 있습니다.Bucket내부적으로도 마찬가지입니다.생략합니다.public이 경우 키워드를 입력합니다.

제 문제는 네임스페이스 문제였습니다.

나는 다음과 같은 열거를 선언했습니다.Data그리고 그건 스위프트와 장난치는 것이었습니다.Data계급, 특히 a.imageData: Data핵심 데이터 모델 내의 속성.

언급URL : https://stackoverflow.com/questions/31792733/property-cannot-be-declared-public-because-its-type-uses-an-internal-type

반응형