【发布时间】:2015-03-10 16:23:34
【问题描述】:
这里真的很困惑。
NSInteger iteration;
NSInteger direction;
- (void)pulse {
self.position = ccpAdd(self.position, vectors[iteration]);
iteration = iteration + direction;
if (iteration >= totalIterations) {
direction = -1;
iteration = totalIterations - 1;
} else if (iteration < 0) {
direction = 1;
iteration = 0;
}
}
发生的情况是,一旦迭代超过 totalIterations,迭代就永远不会回到下面。当循环再次出现时,po 迭代显示它等于 totalIterations。
AFAIK 我不会在别处添加它。
我错过了什么吗?与 NSInteger 有关吗?
【问题讨论】:
-
iteration和direction定义在哪里?它们在哪里初始化? -
实现的顶部。我没有初始化它们..它们从 0 开始
-
这使它们成为类变量。该类是否有多个实例?
-
只有 1 个实例
-
@Alex 不。不要混淆 ivars 和属性。 ivars 可以出现在 3 个地方之一。接口、类扩展或实现。在所有三种情况下,它们都必须在花括号内。
标签: objective-c loops nsinteger