How to fix “property’s synthesized getter follows Cocoa naming convention for returning ‘owned’ objects”

Today Xcode surprised me with an error message I hadn’t heard before: property’s synthesized getter follows Cocoa naming convention for returning ‘owned’ objects.

At first I thought, “isn’t that a good thing?”, and after checking how I had defined a new property I was clueless why this was happening:

What I had done was define a new property that starts with “new”. Doing so means that Xcode / ARC does not automatically create the getter/setter methods for me automatically, and expects me to do it (since I own the object outright). Not having done so throws an error message at build time.

To avoid this problem, don’t start properties beginning with

  • new
  • alloc
  • copy
  • mutableCopy

If you must name properties with those prefixes, then you need to create everything Xcode would do for you too. Most of us really don’t know/care what that is so it’s probably easier to just change that property.

You can use things like “new” for objects you create during the course of your methods, just not as properties. The following works just fine:

Jay is the CEO and founder of WP Hosting, a boutique style managed WordPress hosting and support service. He has been working with Plesk since version 9 and is a qualified Parallels Automation Professional. In his spare time he likes to develop iOS apps and WordPress plugins, or draw on tablet devices. He blogs about his coding journey at and

Add your voice!