I created two classes Content
and Bucket
. Bucket
contains an array of Content
objects and exposes that via a public property
My issue was a namespace problem.
I had declared an enum called Data
and that was mucking with the Swift Data
class, especially an imageData: Data
property within a Core Data model.
You have to declare the access level of the Content
class public as well.
public class Content {
// some code
}
As stated in the documentation:
A public variable cannot be defined as having an internal or private type, because the type might not be available everywhere that the public variable is used.
Classes are declared as internal
by default, so you have to add the public
keyword to make them public.
A similar rule exists for functions as well.
A function cannot have a higher access level than its parameter types and return type, because the function could be used in situations where its constituent types are not available to the surrounding code.
Content
must be declared as public too:
public class Content {
…
}
Depending on your use-case you might declare Bucket
as internal, too. Just omit the public
keyword in this case.