0

如果这是一个明显的问题,请道歉。我有一个 VC A 和一个 VC B(它是 A 的子类)。在 A 的 .m 中,我有一个名为 currentQuestion 的 int 计数器。如果用户输入错误的答案,VC A 会转到 VC B。在 B 中,我想访问 currentQuestion 的当前值,以便将正确的图像放置在 leftImageViewer 中。它似乎确实将 currentQuestion 识别为已实例化但未显示正确值的变量。

leftImageViewer.image = [UIImage imageNamed:left[currentQuestion]];
4

1 回答 1

0

您将不得不传递 to 的值currentQuestionVCB因为 VCB 正在创建所有实例变量的全新实例(或者这是通常发生的情况,很难通过查看代码来判断):

// an example of how to create 'VCB', this is NOT in 'VCB.m'
VCB *vcb = [[VCB alloc] init];
[vcb setCurrentQuestion:[self currentQuestion]];
// present 'vcb' how you are doing so now

当然,这是假设你有一个 property @property int currentQuestion

更一般地,您需要查看继承多态的概念,以更好地理解正在发生的事情。

更新

VCA应该看起来像:

@interface VCA : UIViewController
    // ...
@property int currentQuestion; // this will allow 'currentQuestion' to be accessible
    // ...
@end

为了理解为什么以及如何工作,我鼓励你更好地理解继承是如何工作的。它是面向对象编程中的一个基本概念。

于 2013-03-20T16:23:06.320 回答