2011-07-26 48 views
1

在这里做的源代码是什么,所以我不需要声明managedObjectContext作为ivar? __managedObjectContext在哪里?什么是双下划线前缀?为什么我不需要这个Core Data属性的ivar?

页眉

@interface CAHistoryController : NSObject {} 

@property (nonatomic, retain, readonly) NSManagedObjectContext *managedObjectContext; 

@end 

实施

@implementation EBHistoryController 

@synthesize managedObjectContext=__managedObjectContext; 
- (NSManagedObjectContext *)managedObjectContext 
{ 
    if (__managedObjectContext != nil) 
    { 
    return __managedObjectContext; 
    } 
    // ...etc 
} 

回答

2

@synthesize增长到自动合成相关的存储在一个相对较新的编译器版本(其实,没有那么近,虽然模拟器最初没有能力支持这种模式)。

0

@synthesize without the = <somename> part会生成一个与属性名称相同的ivar。当你这样做= <somename>,你告诉它做一个不同的名字伊娃。

相关问题