2011-04-15 71 views
0

以下核心數據生成的文件中的@private是什麼?我知道what @private means in Objective-C,但是它後面沒有列出實例變量,所以我不能把它拿出來嗎?我可以刪除Core Data生成的@private嗎?

// 
// Event.h 
// 

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


@interface Event : NSManagedObject { 
@private 
} 
@property (nonatomic, retain) NSDate * timestamp; 

@end 


// 
// Event.m 
// 

#import "Event.h" 


@implementation Event 
@dynamic id; 

@end 

回答

4

你可以放心地把它拿出來,它不會改變你的類的語義。如果您對XCode爲您生成的內容不滿意(雖然這是一個合理的默認設置),但我建議您查看。

+1

+1對於mogenerator的建議。 – 2011-04-16 01:00:34

+0

謝謝。我會檢查mogenerator。我之前傳遞過一次,但我認爲是時候了......不僅僅是爲了簡化模型更改,還要能夠使用git來跟蹤更改。 '.xcdatamodel'包中的文件是二進制文件,所以我看不到差異。 – ma11hew28 2011-04-16 06:04:11

1

你可以,但它並沒有傷害。如果您再次生成模型,它只會放回模型。

1

Xcode現在默認爲生成類別爲@private的實例變量,如果您需要它們,您應該聲明這些實例變量。您可以安全地刪除@private,因爲您已經注意到,沒有實例變量。其實這個類的聲明就相當於

@interface Event : NSManagedObject 
@property (nonatomic, retain) NSDate * timestamp; 
@end 
相關問題