2011-11-22 18 views
29

Hubo una configuración MOMC_NO_INVERSE_RELATIONSHIP_WARNINGS en Xcode 3 pero no puedo encontrarla en Xcode 4.2 e intentar establecerla como una configuración de construcción definida por el usuario no tiene ningún efecto.Cómo deshabilitar la advertencia de relación inversa para CoreData en Xcode 4.2?

Sé por qué debería usar una relación inversa pero simplemente no la quiero por varias razones.

+0

Sé que dices que sabes por qué deberías usar una relación inversa pero solo estoy comprobando. Usted sabe que se simplifica para CoreData si existe una relación inversa y que no tenerla puede reducir el rendimiento, p. cuando las eliminaciones en cascada? Porque se recomienda tener siempre una relación inversa, incluso si nunca la usa. Por supuesto, puede tener algún caso de uso especial en el que lo inverso sea realmente malo para usted, en cuyo caso una relación unidireccional _puede ser la mejor opción. –

+0

@David Rönnqvist Tengo una EntityA que tiene para las relaciones: allItems y mostRecentlyUsed. allItems es to-many y MostRecentlyUsed es to-one y ambos puntos para EntityItem. No veo ninguna razón para hacer que EntityItem tenga dos relaciones inversas que apunten a una misma EntityA. –

+0

Acepto que no hay ninguna razón por la que "debería" tener relaciones inversas. Quiero decir, ¿desde cuándo es obligatorio para cada relación "getChild" tener un "getParent" correspondiente en un programa orientado a objetos? Y, por cierto, ¿ha encontrado una solución todavía? Lo quiero también – Rhubarb

Respuesta

2

La configuración todavía está allí en Xcode 4. Al menos es para mí cuando creo un nuevo proyecto en Xcode 4.2 que utiliza Core Data. La configuración MOMC_NO_INVERSE_RELATIONSHIP_WARNINGS se encuentra en la recopilación de advertencias del compilador de versiones de modelos de datos (MOMC), que se encuentra en la parte inferior de la lista de configuraciones de compilación.

+0

No puedo encontrar nada como Data Model Version Compiler (MOMC) Colección de advertencias, buscar 'momc' en la configuración de compilación no me da nada. ¿Esto se debe a que no creé mi proyecto utilizando la plantilla Core Data? Usé la plantilla cocos2d para crear el proyecto. –

+0

No he usado cocos2d, pero el hecho de que no haya utilizado la plantilla de proyecto Core Data podría ser la causa de que no tenga una recopilación de advertencias del compilador de versiones del modelo de datos. Otra cosa que debe verificar es los botones Básico y Todos sobre la lista de configuraciones de compilación. Asegúrese de hacer clic en el botón Todo. –

+1

Hice clic en el botón Todos y todavía no puedo encontrarlo y creo un nuevo proyecto que usa la plantilla Datos básicos y está allí. Supongo que estas configuraciones solo aparecerán si creo mi proyecto usando la plantilla Core Data. Pero debe haber alguna forma de habilitar estas configuraciones sin crear el proyecto usando la plantilla de Datos Core. –

35

Usando XCode 4.3:

Encuentre su manera de construir Ajustes

  1. nodo del proyecto Select (nodo superior) en el proyecto Navigator

  2. Seleccione su proyecto bajo Objetivos

  3. Seleccione la pestaña "Configuraciones de compilación"

Buscar y establecer los MOMC_NO_INVERSE_RELATIONSHIP_WARNINGS establecer

  1. de desplazamiento hasta el fondo los valores de creación de cerca de la parte inferior y busque la sección denominada "Advertencias Modelo de Datos versión del compilador (MOMC)"

  2. El primera entrada es "MOMC_NO_INVERSE_RELATIONSHIP_WARNINGS" y el valor predeterminado es NO

  3. cambiarlo a SÍ

Compila de nuevo, y las advertencias deberían desaparecer.

34

En XCode , y , todavía se puede establecer la variable.

  1. Vaya a Valores de creación

    A. Seleccione el proyecto en la barra lateral izquierda bajo Navegador de proyectos.

    B. Seleccione la pestaña "Configuraciones de compilación".

  2. Buscar y establecer MOMC_NO_INVERSE_RELATIONSHIP_WARNINGS

    A. Seleccione 'Todos' en la parte superior izquierda de la pantalla principal.

    B. Busque MOMC_NO_INVERSE_RELATIONSHIP_WARNINGS al pegar la clave en la barra de búsqueda.

    C. Cambiar el valor a SÍ.

Compila de nuevo y las advertencias han desaparecido.

**** ****

Gracias @RajTandel para la edición de comentarios. Si todavía ve las advertencias, reinicie Xcode y las advertencias deberían desaparecer.

+1

Estos pasos siguen siendo válidos en Xcode 7 beta. –

+0

@MattLong gracias! Actualizaré la respuesta – mikeho

+0

@mikeho sus pasos son correctos. Gracias, pero en Xcode 7.2 las advertencias todavía existen aunque lo limpie y lo construya. así que tengo que reiniciar Xcode y todas las advertencias se han ido. –

Cuestiones relacionadas