当我从 NSMuttable 数组中弹出最后一个元素时,我在运行时崩溃。我得到所有元素都很好,但是当我访问最后一个元素时,它会出错。
-(id)popOperand{
id operandObject = [self.operandStack lastObject];
if(operandObject) [self.operandStack removeLastObject];
return operandObject;
}
例如:-如果在我的堆栈中我有“8”(它的 NSNumber 对象)“+”(它的 NSString 对象)2(它的 NSnumber 对象)。
NSNumber *rightOperand = [self popOperand];
NSString *operation = [self popOperand];
NSNumber *leftOperand = [self popOperand];//when i acess 8 it shows empty array other element is getting fine;
我的问题是为什么我不能得到最后一个对象,而这个函数对其他元素工作正常。编辑:在运行时弹出 2 后显示堆栈(8 +),但在我弹出 + 后显示堆栈()为空。但“leftOperand”没有获得价值。我没有使用 ARC。
请详细说明。谢谢。