为什么我不能在课堂上访问这个属性?

时间:2013-04-11 08:26:38

标签: objective-c

enter image description here

请参考此图片,我已声明属性matchResult,为什么我无法从其实例中访问它?

其他属性“得分”有效,为什么?

代码在iOS6环境中运行。

如果您看不清楚,请在新标签页中打开图片。

由于

2 个答案:

答案 0 :(得分:4)

您似乎已在实施文件" CardMatchingGame.m"中定义了该属性, 使用类扩展。这意味着该属性仅在此类的@implementation块中可用。

要使其他类可以访问该属性,请将声明移动到" CardMatchingGame.h"中的公共@interface

答案 1 :(得分:0)

它在.m文件中声明,因此从“外部”不可见。从同一个类的方法访问它并不重要。您可以通过引用self.game.matchResult来访问外部接口。 如果game等于self,那么您可以访问self.matchResult。但我不认为这是因为你从数组self.cardButtons中获取self.game。

因此,如果您指的是self.matchResult,您将使用self,或者您必须将该属性移动到.m文件中的接口定义。