【发布时间】:2012-04-02 23:54:10
【问题描述】:
有人可以告诉我如何“隐藏”标准核心数据设置器吗?
我知道在 Objective-C 中没有真正定义“私有”方法的方法,但请阅读有关使用扩展来实现类似结果的信息。问题是,我想将其应用于核心数据类。我想隐藏为某些属性创建的标准设置器,并且只从其他公开的设置器中调用它们。
一个例子:我的核心数据对象有一个 BOOL 'collected' 和一个日期 'dateCollected'。我已经想出了如何将 setDateCollected 添加到 setCollected,但现在我想“隐藏”收集的集合,这样就不能那么容易地直接调用它(当我可能忘记手动设置 dateCollected 时)。
澄清一下,让我绊倒的部分是“@dynamic”调用——我不知道它们应该放在哪里。
编辑 - 我想我错过了一部分。我可以将@property 声明移动到实现文件中就好了。但我希望 setter 被隐藏,而 getter 保持公开。我想我需要替换@property,但我不知道如何为核心数据对象执行此操作。
【问题讨论】:
-
在
@implementation? - 他们通常居住的地方。 -
如果我将它放在@implementation 中,它根本不会隐藏。
标签: objective-c ios core-data