【问题标题】:Why are my integers not adding negative values?为什么我的整数不加负值?
【发布时间】: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 有关吗?

【问题讨论】:

  • iterationdirection 定义在哪里?它们在哪里初始化?
  • 实现的顶部。我没有初始化它们..它们从 0 开始
  • 这使它们成为类变量。该类是否有多个实例?
  • 只有 1 个实例
  • @Alex 不。不要混淆 ivars 和属性。 ivars 可以出现在 3 个地方之一。接口、类扩展或实现。在所有三种情况下,它们都必须在花括号内。

标签: objective-c loops nsinteger


【解决方案1】:

子类与父类具有相同的实例变量名称。父类正在递增该实例变量。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-24
    • 1970-01-01
    • 2020-04-03
    • 2019-10-18
    • 2016-02-15
    • 2011-01-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多