2011-06-26 89 views
21

创建你如何在Xcode 4实施已取得的财产获取的财产?的Xcode 4核心数据:如何使用数据模型编辑器

下面是两个实体,一本书,一个页面的例子: enter image description here

我遵循的准则在这里创建,使用变量$ FETCH_SOURCE从源实体引用值的获取属性:http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/CoreData/Articles/cdRelationships.html

现在,一旦我有这样的保存,我产生了源代码,我得到这个:

// 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 

而且......

// Book.m 

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


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

@end 

哪里获取财产 'fetchLastPage'?我如何在代码中使用它?

+0

FYI添加到生成的类,这是不实际的代码,我有工作。我写一个应用程序在那里我有多个数据存储区(仅一个用户保存数据的读取),我需要用牵强性能,因为多个商店不维护自己的关系:http://developer.apple.com/库/ MAC /文档/可可/概念/ CoreData /用品/ cdRelationships.html#// apple_ref/DOC/UID/TP40001857-SW7 – pokstad

回答

18

从我读过你需要获取自己的属性使用@dynamic关键字

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

// In your class 
@dynamic fetchLastPage; 
+6

+1你已经有了基本的想法正确的,但已取得的财产是类NSArray的始终。我会编辑你的答案以反映这一点。 – TechZen

+0

我会补充说,你只能因为X4核心数据工具严重错误而必须手动完成。在以前的版本中,它会自动添加fetchedProperty定义。 – TechZen

+0

@TechZen - 您应该向Apple提交一份错误报告。 – Moshe