J'ai créé deux classes Content
et Bucket
. Bucket
contient un tableau d' Content
objets et les expose via une propriété publique. Cependant, lorsque je le fais, je reçois l'erreur:
La propriété ne peut pas être déclarée publique car son type utilise un type interne
Avez-vous une idée de pourquoi cela soulève une erreur?
public(Array<NSObject>) let contents: Array<Content>
Réponses:
Vous devez également déclarer le niveau d'accès de la
Content
classe public.Comme indiqué dans la documentation :
Les classes sont déclarées comme
internal
par défaut, vous devez donc ajouter lepublic
mot - clé pour les rendre publiques.Une règle similaire existe également pour les fonctions.
la source
Content
doit également être déclaré public:En fonction de votre cas d'utilisation, vous pouvez également le déclarer
Bucket
comme interne. Omettez simplement lepublic
mot - clé dans ce cas.la source
Mon problème était un problème d'espace de noms.
J'avais déclaré une énumération appelée
Data
et qui se moquait de laData
classe Swift , en particulier uneimageData: Data
propriété dans un modèle Core Data.la source