可能重複後:
Does lastObject in NSMutableArray return a copy of the object?刪除對象創建一個指向其目的-C]
我下面的iOS開發斯坦福當然,我有一個疑問。 事情是我有一個數組(operandStack)與「操作數」(NSNumbers),我想要一個功能,彈出最後一個元素,然後從數組中刪除它。這是本教程的SAI(和它的作品):
- (double)popOperand
{
NSNumber *operand = [self.operandStack lastObject];
if(operand) [self.operandStack removeLastObject];
return [operand doubleValue];
}
我的問題是:如果用的NSNumber *操作,我們只是「指點」的最後一個對象,並在下一行,我們刪除此最後一個對象,那我們怎麼可能返回呢?我的意思是,如果我們刪除最後一個對象,操作數只是指向那個對象,那麼操作數應該指向沒有,所以我不明白如何返回操作數是可能的... 我理解代碼如果操作數是數組最後一個對象的副本,但事實並非如此...
對不起,我希望我自己清楚。
謝謝,
卡洛斯
以及你對這個問題的猜測?一些無? – gaussblurinc
是的......我只是不明白爲什麼這個作品!如果操作數指向一個被刪除的對象,操作數應該是零或某些東西,所以返回operand.doubleValue應該什麼也不給... –