2

在此处输入图像描述

请参考这张图片,我已经声明了属性 matchResult,为什么我不能从它的实例中访问它?

另一个属性“分数”有效,为什么?

代码在iOS6环境下运行。

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

谢谢

4

2 回答 2

4

看来您已经使用类扩展在实现文件“CardMatchingGame.m”中定义了该属性。这意味着该属性仅在@implementation此类的块中可用。

要使其他类可以访问该属性,请将声明移至@interface“CardMatchingGame.h”中的公众。

于 2013-04-11T08:31:23.937 回答
0

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

因此,self.matchResult如果要引用,则要么使用,要么self必须将属性移动到 .m 文件中的接口定义。

于 2013-04-11T08:34:10.380 回答