Я создал два класса Content
и Bucket
. Bucket
содержит массив Content
объектов и предоставляет его через общедоступное свойство. Однако при этом я получаю сообщение об ошибке:
Свойство нельзя объявить общедоступным, поскольку его тип использует внутренний тип.
Есть мысли о том, почему это вызывает ошибку?
public(Array<NSObject>) let contents: Array<Content>
Ответы:
Вы также должны объявить уровень доступа
Content
класса public.Как указано в документации :
Классы объявлены
internal
по умолчанию, поэтому вам нужно добавитьpublic
ключевое слово, чтобы сделать их общедоступными.Аналогичное правило существует и для функций.
источник
Content
также должны быть объявлены общедоступными:В зависимости от вашего варианта использования вы также можете объявить его
Bucket
внутренним.public
В этом случае просто опустите ключевое слово.источник
Моя проблема заключалась в проблеме с пространством имен.
Я объявил вызываемое перечисление,
Data
и это мешалоData
классу Swift , особенноimageData: Data
свойству в модели Core Data.источник