我可以删除Core Data生成的@private吗?

时间:2011-04-15 23:40:55

标签: objective-c core-data dynamic private

以下核心数据生成的文件中的@private是什么?我知道what @private means in Objective-C,但是后面没有列出实例变量,所以我不能把它拿出来吗?

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

3 个答案:

答案 0 :(得分:4)

你可以放心地把它取出来,它不会改变你班级的语义。如果您对XCode为您生成的内容不满意(虽然这是合理的默认设置),我建议您查看https://github.com/rentzsch/mogenerator

答案 1 :(得分:1)

你可以,但不会受到伤害。如果你再次生成模型,它就会把它放回去。

答案 2 :(得分:1)

Xcode现在默认为实例变量生成带@private的类,您需要在需要时声明这些类。您可以安全地删除@private,因为您已经注意到,没有实例变量。实际上,该类声明等同于

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