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
按钮后每个用户按下一个号码时重置=
。
答案 0 :(得分:0)
如果您在Java中寻找等效的构造函数,请覆盖-init
。例如:
- (id)init
{
self = [super init]
if (!self) {
return nil;
}
self.numArray = [NSMutableArray array];
return self;
}
然而,正如其他人所说,如果你的类只是一个堆栈,那么使用NSMutableArray可能会更容易,因为它有类似堆栈访问的方法。
此外,如果int indexOfArray = 0;
实际上是在方法旁边定义的,那么你有一个全局变量而不是实例(/ member)变量,你可能认为这是你要声明的。
(如果这些内容对您来说很新,我建议您阅读Apple的Cocoa Core Competencies和Programming With Objective-C条款