Stworzyłem dwie klasy Content
i Bucket
. Bucket
zawiera tablicę Content
obiektów i uwidacznia ją za pośrednictwem właściwości publicznej. Jednak gdy to zrobię, otrzymuję błąd:
Nie można zadeklarować właściwości jako publicznej, ponieważ jej typ używa typu wewnętrznego
Jakieś przemyślenia, dlaczego powoduje to błąd?
public(Array<NSObject>) let contents: Array<Content>
Odpowiedzi:
Musisz zadeklarować poziom dostępu
Content
klasy jako publiczny.Jak podano w dokumentacji :
Klasy są deklarowane jako
internal
domyślne, więc musisz dodaćpublic
słowo kluczowe, aby je upublicznić.Podobna zasada istnieje również dla funkcji.
źródło
Content
należy również ogłosić jako publiczne:W zależności od przypadku użycia możesz również zadeklarować
Bucket
jako wewnętrzny. Po prostu pomińpublic
słowo kluczowe w tym przypadku.źródło
Mój problem dotyczył przestrzeni nazw.
Zadeklarowałem wyliczenie wywołane
Data
i było to zaszuranie zData
klasą Swift , zwłaszczaimageData: Data
właściwością w modelu Core Data.źródło