두 개의 클래스 Content
와 Bucket
. 객체 Bucket
의 배열을 포함하고 Content
공용 속성을 통해이를 노출합니다. 그러나 그렇게 할 때 오류가 발생합니다.
유형이 내부 유형을 사용하므로 속성을 public으로 선언 할 수 없습니다.
이것이 오류를 일으키는 이유에 대한 생각이 있습니까?
답변
Content
공용 클래스 의 액세스 수준도 선언해야합니다 .
public class Content {
// some code
}
문서에 명시된대로 :
공용 변수는 공용 변수가 사용되는 모든 곳에서 사용 가능하지 않을 수 있으므로 내부 또는 개인 유형을 갖는 것으로 정의 할 수 없습니다.
클래스는 internal
기본적으로 선언되어 있으므로 public
공용으로 만들 려면 키워드를 추가 해야합니다.
함수에도 비슷한 규칙이 있습니다.
함수는 주변 코드에서 구성 유형을 사용할 수없는 상황에서 함수를 사용할 수 있기 때문에 매개 변수 유형 및 반환 유형보다 더 높은 액세스 수준을 가질 수 없습니다.
답변
Content
공개로도 선언해야합니다.
public class Content {
…
}
사용 사례에 따라 Bucket
내부로 선언 할 수도 있습니다. public
이 경우 키워드를 생략하십시오 .
답변
내 문제는 네임 스페이스 문제였습니다.
나는 enum을 선언 Data
했고 그것은 Swift Data
클래스, 특히 imageData: Data
Core Data 모델 내의 속성 을 망쳐 놓았습니다 .