Objective c 如何检查传递给方法的指针?
希望有人能帮助我。 我试图找出在方法调用中传递的对象指针 所以(在cocos2d环境中)应该是这样的:Objective c 如何检查传递给方法的指针?,objective-c,pointers,methods,call,Objective C,Pointers,Methods,Call,希望有人能帮助我。 我试图找出在方法调用中传递的对象指针 所以(在cocos2d环境中)应该是这样的: - (void)loadCreature:(CCSprite*)creature { if (/*here I want to check if the pointer is 'blue'*/) NSLog(@"the creature is blue") if (/*here I want to check if the pointer is 'red'*/) NSLog(@
- (void)loadCreature:(CCSprite*)creature
{
if (/*here I want to check if the pointer is 'blue'*/) NSLog(@"the creature is blue")
if (/*here I want to check if the pointer is 'red'*/) NSLog(@"the creature is red")
}
以及实施:
CCSprite *blue;
CCSprite *red;
[self loadCreature:blue];
[self loadCreature:red];
提前感谢:)
- 尤尔基
唯一的替代方法是将红色和蓝色声明为全局变量,并在LoadBiot内部对它们的指针进行比较,以确定哪个是哪个。但是那样做是不对的,如果我发现你这么做,我会非常非常生气:哈哈,我不希望你生气,所以我不会这么做。但我认为你给我指明了正确的方向。CCSprite似乎有一个标记属性,但这不起作用:blue.tag=1;NSLog(@“blue.tag=%d”,blue.tag);不知道为什么…啊,我现在明白为什么了…当CCSprite没有初始化时,您还不能设置标记。太糟糕了,因为我需要在方法内部初始化。解决方法是首先用一个空图片文件初始化精灵,然后设置标记,然后在方法内部用新图片重新初始化。一点也不漂亮!但它是有效的。。。