2011-06-26 14 views
21

¿Cómo implementa una propiedad recuperada en Xcode 4?Xcode 4 Core Data: cómo usar la propiedad recuperada creada en el editor del modelo de datos

Aquí es un ejemplo de dos entidades, un libro y una página: enter image description here

he seguido las directrices aquí para crear una propiedad inverosímil que hace referencia a un valor de la entidad de origen mediante el $ FETCH_SOURCE variables: http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/CoreData/Articles/cdRelationships.html

Ahora, una vez que tengo esta salvado y generar el código fuente me sale esto:

// Book.h 

#import <Foundation/Foundation.h> 
#import <CoreData/CoreData.h> 

@class Pages; 

@interface Book : NSManagedObject { 
@private 
} 
@property (nonatomic, retain) NSString * title; 
@property (nonatomic, retain) NSNumber * pageCount; 
@property (nonatomic, retain) Pages * pages; 

@end 

y ...

// Book.m 

#import "Book.h" 
#import "Pages.h" 


@implementation Book 
@dynamic title; 
@dynamic pageCount; 
@dynamic pages; 

@end 

¿Dónde se encuentra la propiedad 'fetchLastPage'? ¿Cómo puedo usarlo en el código?

+0

FYI, esto no es el código real que estoy trabajando con. Estoy escribiendo una aplicación en la que tengo varios almacenes de datos (uno para solo lectura y otro para datos guardados por el usuario) y necesito usar las propiedades obtenidas ya que varias tiendas no mantienen relaciones entre sí: http://developer.apple.com/ library/mac/documentation/Cocoa/Conceptual/CoreData/Articles/cdRelationships.html # // apple_ref/doc/uid/TP40001857-SW7 – pokstad

Respuesta

18

Por lo que he leído es necesario agregar propiedades captadas que la clase generada por sí mismo utilizando la palabra clave @dynamic

// In your header 
@property (nonatomic, retain) NSArray *fetchLastPage; 

// In your class 
@dynamic fetchLastPage; 
+6

+1 Tienes la idea básica correcta, pero una propiedad recuperada es siempre de la clase NSArray . Editaré tu respuesta para reflejar eso. – TechZen

+0

Agregaré que tiene que hacer esto a mano solo porque las herramientas de X4 Core Data tienen errores graves. En versiones anteriores, agregaría automáticamente las definiciones de fetchedProperty. – TechZen

+0

@TechZen: debe presentar un informe de error con Apple. – Moshe

Cuestiones relacionadas