我只是測試它的變化後,它的工作原理,但在ISSE下一步 如果我嘗試使用這個變量之後,它會丟失出現。
我改變對象的名稱,使分析更容易:
//my method in my object OBJ2
{
[delegate didSelectItemAtIndex:[self methodreturningnumber]];
}
在我的委託(OBJ1)我有方法:
-(void)didSelectItemAtIndex:(NSNumber *) NSNUMBER
{
SliceDetailsViewController * OBJ2 = [[SliceDetailsViewController alloc] initWithNibName:nil bundle:nil];
OBJ2. NSNUMBER = NSNUMBER; // <---------- THIS IS LOST IF I DON'T ADD RETAIN [NSNUMBER retain]
OBJ2.pieChart = graphView;
OBJ2.myColors=myColors;
[self presentModalViewController:sliceDetailsController animated:YES];
[sliceDetailsController release];
}
在我modalWindow(OBJ 3)我有方法是從所謂的它的子視圖OBJ4
- (void)colorPicker:(ColorPicker *)myColorPicker didSelectItemAtIndex:(NSNumber *)indexPath
{
[OBJ2 setColor:NSNUMBER value:indexPath]; // <------ SLICEID IS NOT AVAILABLE HERE IF NOT RETAINED IN PREVIOUS OBJECT
}
OBJ4調用上面這個方法:
[delegate colorPicker:self didSelectItemAtIndex:atrribute];
........... 調用的方法是從對象: OBJ1 - > OBJ2 - > OBJ1 - > OBJ3 - > OBJ4 - > OBJ3
OBJ1呼叫OBJ2(通過自身作爲代表) OBJ2產生的NSNumber X和呼叫的方法OBJ1用的NSNumber X
OBJ1呼叫作爲presentModalViewController OBJ3的,並設置X爲可被正常顯示的OBJ3
OBJ3屬性之一,並且可以訪問NSNumberX
OBJ3 VievController類子視圖OBJ4(顯示在同一視圖屏幕)
當我點擊OBJ4時,它調用方法OBJ3沒有參數 和OBJ3有地址的NSNumber,但它超出了範圍。
..........
我改變了這個,但是如何保留這個對象呢?我在下面描述了問題。 – plusz 2010-10-17 16:21:10