计算在Cocoa-Touch中调用方法的次数?

时间:2009-07-27 19:57:21

标签: objective-c iphone cocoa-touch methods cocos2d-iphone

我有一个小应用程序,它使用cocos2d来运行游戏的四个“级别”,其中每个级别完全相同。第四级运行后,我想显示一个结束游戏场景。我能够处理这个问题的唯一方法是制作四种方法,每种方法一种方法。毛。

我使用cocos2d和基本的Cocoa框架多次遇到这种情况。那么我可以计算一个方法的调用次数吗?

2 个答案:

答案 0 :(得分:3)

每次调用方法时,你能只增加一个实例变量整数吗?

我无法在评论中格式化代码,因此要详细说明:

在头文件中,添加一个整数作为实例变量:

@interface MyObject : NSObject { 
   UIInteger myCounter; 
} 

然后在你的方法中,增加它:

@implementation MyObject
    - (void)myMethod { 
      myCounter++; 
      //Do other method stuff here 
      if (myCounter>3){ 
          [self showEndGameScene]; 
      } 
     }

@end 

答案 1 :(得分:2)

我不知道你的方式是否是最好的方式,或者如果我的方式是,但是像纳撒尼尔所说,你只需要定义一个整数来保存@interface中的计数:

@interface MyClass : NSObject {
    int callCount;
}

然后该方法可以通过执行以下操作来增加:

- (void) theLevelMethod {
   callCount++;
   // some code
}

确保在构造函数或等效的callCount中将viewDidLoad变量初始化为0。然后在检查计数的代码中,您可以检查:

if (callCount == 4) {
   // do something, I guess end scene
}

然后,我想你可以简单地做这样的事情:

for (int i = 0; i < 4; i++) {
   [self theLevelMethod];
}

[self theEndScene];

我不知道你的游戏逻辑是如何工作的,但我想这样可行。

很抱歉,如果我误解了你的问题。