我無法理解segues以及它們如何工作和傳遞對象。基本上我有一個計算器,並試圖繪製存儲在數組中的對象。到目前爲止,我有一個名爲Brain的對象,它是CalculatorBrain的一個實例。現在大腦有一個NSArray屬性,我用它作爲堆棧來存儲變量。假設我將數值3和5添加到數組中,然後想要繼續。我選擇了一個名爲「Graph」的按鈕,所以當我點擊按鈕後,它會繼續。我將如何將大腦傳遞給我正在繼續使用的新視圖控制器?我有一個名爲setGraphingPoint的屬性,它在新的視圖控制器中定義,我認爲它應該接受傳遞的對象。另外,如果我通過segue傳遞大腦,值3和5會與它一起傳遞,還是會創建CalculatorBrain的新對象?這是我到目前爲止。使用Segue傳遞對象
這是在新的視圖控制器
@property (nonatomic, strong) CalculatorBrain *graphingPoint;
@synthesize graphingPoint = _graphingPoint;
-(void) setGraphingPoint:(CalculatorBrain*) graphingPoint{
_graphingPoint = graphingPoint;
[self.graphingView setNeedsDisplay];
}
這是從中將有老視圖控制器稱爲定義按鈕Segue公司
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
if([segue.identifier isEqualToString:@"Graph"])
[segue.destinationViewController setGraphingPoint:[self.brain program]];
什麼錯?你能更具體地說明什麼不起作用嗎? – Nosrettap 2012-07-19 21:18:50
我只是不完全明白如何傳遞和傳遞對象,傳遞的是什麼 – 2012-07-19 21:22:21
在這個例子中,你傳遞了一個指向對象'property'的指針。這意味着它是對原始對象的引用而不是副本。想象一下,如果我用我的手指指着一隻狗。突然你走到我旁邊。然後我可以告訴你也用你的手指指向狗。我們都指的是EXACT相同的對象(但請注意,狗實際上並沒有移動) – Nosrettap 2012-07-19 21:27:44