从另一个类获取整数值
我知道我以前做过这个,但我不记得怎么做。
我有一个整数,我希望能够在另一个类中改变。
我该怎么做?
MainViewClass : UIViewController { int score; } #import "MainViewClass.h" OtherClass : MainViewClass{ }
然后在OtherClass的.m我想能够使用variables分数。
我该怎么做呢?
我已经在互联网上search,并尝试了几件事情,试图得到它的工作将不会成功。
感谢您的期待! 祝你有美好的一天。
在你的MainViewClass.h中,你需要添加你的int作为这个类的一个属性。
@property (nonatomic, readwrite) int score;
然后在你的MainViewClass.m中,你需要使用下面的属性来综合属性:
@synthesize score;
现在,因为你的子类MainViewClass在你的OtherClass中,你可以使用下面的一些组合来访问它的属性。
在你的OtherClass.h中添加
MainViewClass * mainViewClass;
在你的OtherClass.m任何你需要访问分数的地方,你应该可以像访问它一样。
mainViewClass = (MainViewClass *) self.parent;
然后将得分使用,
mainViewClass.score;
在你的例子中, int score
是一个实例variables ,简称为ivar 。 这是与任何给定的MainViewClass
实例关联的一段数据。 默认情况下,出于很好的理由,实例variables具有@protected
可见性,这意味着只有MainViewClass
及其子类可以访问它。
现在,在您的示例中,您将OtherClass
作为MainViewClass
的子类,这意味着只需键入score
或theOtherObject->score
来从同一对象获取self->score
,而从另一个作为MainViewClass
对象中只需键入theOtherObject->score
。 (这种devise暴露了实现的细节 ,所以通常被许多编程人员认为是不好的devise,但是对于这样一个简单的用例,你可能会忽略它。 为什么这么糟糕的讨论已经肆虐了几十年 ,是超出了这个问题的范围。)
您可以使用整数在类中创buildgetter和setter方法(或具有合成访问器的属性),并为其他类提供对第一个类的某个实例的引用,并使用这些访问器来获取和设置整数。