我知道我以前做过这个,但我不记得怎么做了。
我有一个整数,我希望能够在我的另一个类中进行更改。
我该怎么做?
MainViewClass : UIViewController {
int score;
}
#import "MainViewClass.h"
OtherClass : MainViewClass{
}
然后在其他类的.m中我希望能够使用变量得分。
我该怎么做?
我在互联网上搜索过,尝试了几件让它上班的事情都没有成功。
感谢您的期待! 祝你有美好的一天。
答案 0 :(得分:5)
在MainViewClass.h中,您需要将int添加为该类的属性。
@property (nonatomic, readwrite) int score;
然后在MainViewClass.m中,您将要使用以下方法合成属性:
@synthesize score;
现在,由于您在OtherClass中继承了MainViewClass,您可以使用以下某些组合来访问它的属性。
在你的OtherClass.h中添加
MainViewClass * mainViewClass;
在您的OtherClass.m中,只要您需要访问乐谱,您就应该能够访问它。
mainViewClass = (MainViewClass *) self.parent;
然后使用分数
mainViewClass.score;
答案 1 :(得分:4)
在您的示例中,int score
是实例变量,或者 ivar 。它是与MainViewClass
的任何给定实例相关联的一段数据。默认情况下,实例变量具有@protected
可见性,这意味着只有MainViewClass
及其子类才能访问它。
现在,您在示例中将OtherClass
作为MainViewClass
的子类,这意味着从同一个对象访问score
您只需键入{{ 1}}或score
,以及self->score
的另一个对象,您只需要输入MainViewClass
。 (这种设计暴露了实现细节,因此许多编码人员通常认为这是一种糟糕的设计,但对于像这样的简单用例,你可能会侥幸逃脱。为什么这个讨论已经持续了 years 并超出了这个问题的范围。)
答案 2 :(得分:2)
使用整数在类中创建getter和setter方法(或具有合成访问器的属性),为另一个类提供对第一个类的某个实例的引用,并让它使用这些访问器来获取和设置整数