Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

iOS Build a Selfie App with Swift 2 Saving and Displaying Selfies Convenience Methods on Tag

Why class func instead of init?

What is the reasoning behind choosing to create class functions to create instances of Location and Tag instead of creating custom "init" methods called init?

1 Answer

Amit Bijlani
STAFF
Amit Bijlani
Treehouse Guest Teacher

To create an instance of an NSManagedObject you need to use the NSEntityDescription class which inserts a new object into the context. A custom initializer is generally used to accept parameters and initialize properties. That is not the case here, so we create a custom convenience constructor which returns a new instance given the parameters.