Core Data produce advertencias del analizador

Estoy haciendo los retoques finales en una aplicación y me estoy deshaciendo de todas las advertencias del comstackdor / analizador.

Tengo un montón de methods de class que envuelven mi acceso a las aplicaciones a las entidades de datos básicos. Esto es "provocador" del analizador.

+ (CDProductEntity*) newProductEntity { return (CDProductEntity*)[NSEntityDescription insertNewObjectForEntityForName:@"CDProductEntity" inManagedObjectContext:[self context]]; } 

Lo que resulta en una advertencia del analizador:

El object con +0 retiene los recuentos devueltos al llamante donde se espera un recuento de retener +1 (poseer)

En el método que llama al método de class anterior, tengo esto:

 CDProductEntity *newEntity = [self newProductEntity]; 

Lo que resulta en una advertencia del analizador:

El método devuelve un object Objective-C con un recuento +1 retener (propiedad de reference)

Lanzar o autorizar una entidad de datos básicos es muy, muy malo, pero ¿es eso lo que me pide que haga aquí? Primero me dice que tiene un recuento de retener +0 y eso es malo, entonces me dice que tiene un +1 que también es malo.

¿Qué puedo hacer para asegurarme de que estoy lidiando con un hipo Analyzer o que lo lanzo correctamente?

Gracias por adelantado

El problema con el que se queja el analizador estático puede estar en su nombre de método: según los methods de las convenciones de nomenclatura de obj-c con alloc, new o copy en sus nombres se espera que devuelvan los objects que el autor 'posee' y debe liberar, y su método devuelve object autoelevado.

cita de documentos :

Tienes cualquier object que crees.
Usted "crea" un object usando un método cuyo nombre comienza con "alloc" o "new" o contiene "copy" (por ejemplo, alloc, newObject o mutableCopy).

Así que, para empezar, intente sugerirle que simplemente elimine "nuevo" del nombre de su método