0
int indexOfArray = 0;


-(void)pushNumber:(double)number{
    if(self.numArray == NULL)
        self.numArray = [NSMutableArray array];
    indexOfArray = self.numArray.count;
    [self.numArray insertObject:[NSNumber numberWithDouble:number] atIndex:(indexOfArray)];
    indexOfArray--;
}

这就是我正在执行的推送方法中我的代码的一部分。我想要设置它的方式是将数字推到数组的末尾,因为这将允许我弹出我推入的第一个数字lastObject。我有 Java 方面的经验,但我一直在自己使用 Objective-C,因此我不确定我所做的是否正确。我现在所知道的是,每次运行此方法indexOfArray都会重置其计数,我不希望这样。我希望能够在方法之前初始化数组,这样我就可以有一个恒定的大小开始,然后每次调用这个方法时我可以递减。

需要明确的是,这是我在空闲时间制作的计算器应用程序。我希望能够indexOfArray在操作员之后、用户按下清除键或用户按下按钮时重置用户按下的每个数字=

4

1 回答 1

0

如果您正在寻找与 Java 中的构造函数等效的东西,请覆盖-init. 例子:

- (id)init
{
    self = [super init]
    if (!self) {
        return nil;
    }

    self.numArray = [NSMutableArray array];

    return self;
}

但是,正如其他人所说,如果您的类只是一个堆栈,则使用 NSMutableArray 可能更容易,因为它具有类似堆栈的访问方法。

此外,如果int indexOfArray = 0;真的像看起来那样在方法旁边定义,那么您有一个全局变量而不是实例(/成员)变量,您可能认为您正在声明它。

(如果这些东西对你来说是新的,我推荐阅读 Apple 的Cocoa Core Competencies and Programming With Objective-C文章)

于 2013-02-26T22:46:59.637 回答