我在 ViewController 中,试图访问对象“背景图片”拥有的对象“猫”中的方法。ViewController 有一个背景图片的实例。
“cat.h”中的方法/消息:
@interface Cat : NSObject
-(BOOL)checkIfTouchHit:(float) xx :(float) yy;
@end
“猫.m”:
- (BOOL)checkIfTouchHit:(float) xx :(float) yy{
NSLog(@"Inside checkIfTouchHit");
return YES;
}
“背景图片.h”:
#import "Cat.h"
@interface BackGroundPicture : NSObject
@property (strong) Cat * katt;
@end
“背景图片.m”:
@implementation BackGroundPicture
@synthesize katt = _katt
@end
“视图控制器.m”:
@interface ViewController ()
@property (strong) BackGroundPicture * bakgrunnsbilde;
@end
@implementation BackGroundPicture
@synthesize bakgrunnsbilde = _bakgrunnsbilde;
- (void)viewDidLoad
{...
[[self.bakgrunnsbilde katt] checkIfTouchHit :(float)touchLocation.x :(float)touchLocation.y]
...}
cat 方法“checkIfInside”中的字符串不会显示出来。我也试过 [_bakgrunnsbilde katt]... 但同样缺乏结果,我相信这是以相同的方式编译的。我想知道我在这里缺少什么,希望有人能提供帮助。谢谢 :)
编辑我忘了从我的 BackGroundPicture.m 添加几行。它是从 ViewController 中的 ViewDidLoad 开始运行的方法。在 BackGroundPicture.m 中是这样的:
- (void)createObjects {
Cat * katt = [[Cat alloc] init];
}
它是从 ViewController.m 调用的,如下所示:
- (void)viewDidLoad
{
[_bakgrunnsbilde createObjects];
}
我知道这会被执行。我希望这个编辑有意义,经过漫长的一天后我的头被毁了:)明天早上再回来查看。