也許有人可以爲我澄清這一點。整數值不會被方法改變
我有4個UITableViewControllers,第一個有一個屬性
@property (nonatomic, assign) int editStarted;
我設置在FirstViewController該屬性:
-(id)init
{
// Call the superclass's designated initializer
self = [super initWithStyle:UITableViewStyleGrouped];
if (self) {
editStarted = 0; // NO
}
return self;
}
現在,當我從視圖控制器1導航到2至3至4 ,並在FourthViewController中做這樣的事情:
FirstViewController *firstView = [[FirstViewController alloc] init];
NSLog(@"editStarted: %d,",firstView.editStarted);
NSLOG將打印0.(如果我給它的init另一個值,那麼它會打印出值)
所以早在FirstViewController我這樣做,將值更改爲1:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
editStarted = 1;
}
現在,當我從視圖控制器1導航到2至3至4的值並沒有變爲1,但仍然爲0.
這是標準行爲還是我做錯了什麼? 我想過從視圖控制器1通過editStarted
到2到3到4的可能性,但我不確定這是否是正確的方法。這對我來說聽起來有點多餘。
。當然,這是有道理的!謝謝。通過使用導航控制器,你的意思是appDelegate.m,我定義了「 - (BOOL)應用程序:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 」etc? – Eloy
只是爲了您的信息,我想從視圖控制器1到4,當我在4時,我想在VC1中顯示從2到4的數據。我使用2到4來進行特定的選擇。 – Eloy
在VC中,'self.navigationController'會讓你進入導航控制器。代表關係適合於將選擇數據從2,3和4回傳給1。 – Wain