- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 Objective-C/ios 的新手,对于如何从另一个实例访问 var/实例有点困惑。我也在使用 Sparrow 框架工作,这可能会让事情更加困惑,但无论如何。
情况是我有一个名为 Game 的类的实例。在游戏中,我有一个名为scrollContainer的变量,它本身就是一个指向SPSprite类类型实例的指针。
我可以在游戏中使用scrollContainer,显然没有问题,但现在我需要从另一个实例(称为Market)访问scrollContainer,这就是我不确定的地方。
我在 Game.m 中声明(我的术语可能全错)scrollContainer,所以我想我需要做的实际上是在 Game.h 中声明(定义?)它,使用 @property,然后 @synthasize 和那么如果我将 Game.h 包含在 Market.m 中,那么我将能够从 Market.m 内部访问scrollContainer var,但这不起作用,因为它在 Market.m 中给了我一个错误(未声明的标识符)
所以我的下一个想法是这些是我的选择......
首次调用 Market.m 初始化函数时将其传递给 scrollContainer 指针并存储它?
我也有一个正在运行的单例,所以也许我存储了scrollContainer,或者可能在我的单例中存储了一个指向Game.m的指针,并且他们尝试从中访问Market.m中的scrollContainer?
哪一种是最好/最简单的方法?
感谢您的建议!
更新
这是请求的代码片段。
@interface Game : SPSprite
{
@private
float mGameWidth;
float mGameHeight;
}
- (id)initWithWidth:(float)width height:(float)height;
@property (nonatomic, assign) float gameWidth;
@property (nonatomic, assign) float gameHeight;
@property SPSprite *scrollContainer;
@end
还有一点来自 Market.m
- (void)onCloseMarketButton:(SPEvent *)event
{
NSLog(@"Close Market Clicked!!");
[self removeAllMarketButtons];
[closeMarketButton removeFromParent];
scrollContainer.visible = YES;//gives error
[self removeFromParent];
}
我只是想,我是否也必须在 Market.m 中 @synthesize scrollContainer 才能在 Market.m 中使用它?
最佳答案
在您的代码中,您写道:
scrollContainer.visible = YES;//gives error
scrollContainer
是如何初始化或分配的?
您提到:
Pass the scrollContainer pointer to the Market.m init function when it's first called and store it?
是的,这是一个可行的方法。
//Some where in Game.m
Market *market = [[Market alloc]initWithScrollContainer:self.scrollContainer];
//Then in Market.m
-(id)initWithScrollContainer:(SPSprite*)scrollContainer{
//Do your initialization
}
关于objective-c - 初学者对 obj-c 中从另一个实例访问一个实例感到困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13110523/
我正在尝试学习Rust。我正在阅读一本书online,该书实现了unix程序cat。现在,我试图读取作为像cargo run file1.txt file2.txt这样的参数传递的文件的内容,但是程序
我在 GHC 8.0.1 中遇到了一个带有种类索引 (?) GADT 的奇怪情况,其中在类型与种类签名中引入 foralls 会产生不同的类型检查行为。 考虑以下数据类型: {-# LANGUAGE
我正在使用 Perl 5.10 开发应用程序,HTML::Mason和 Apache 2.2。这是我第一次在大型项目中使用 Perl 5.10。我每隔一段时间就会出现奇怪的行为。应用程序因一个非常奇怪
我正在尝试将文件上传到aws中的rust中,因为我使用的是 rusoto_s3 的s3 rust客户端,当这些部分从单个线程发送时,我设法使分段上传代码正常工作不是我想要的,我想上传大文件,并且希望能
我是一名优秀的程序员,十分优秀!