我正在開發一個有3個故事板場景的應用程序。在第一個故事板場景中,我有一些變量需要在其他兩個場景中訪問。我該怎麼做?我瀏覽到其他兩個場景用故事板賽格瑞並呼籲按鈕下面單擊如何在其他故事板場景中訪問主故事板場景中的變量?
[self performSegueWithIdentifier:@"nameofsegue" sender:self];
我正在開發一個有3個故事板場景的應用程序。在第一個故事板場景中,我有一些變量需要在其他兩個場景中訪問。我該怎麼做?我瀏覽到其他兩個場景用故事板賽格瑞並呼籲按鈕下面單擊如何在其他故事板場景中訪問主故事板場景中的變量?
[self performSegueWithIdentifier:@"nameofsegue" sender:self];
使用此方法
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([[segue identifier] isEqualToString:@"nameofsegue"]) {
YourDestinationVC *dvc = [segue destinationViewController];
YourSourceVC *svc = (YourSourceVC*)sender;
//set your ivr here
}
}
我有這三個場景,每個都命名不同,所以每個都有.m和.h文件。我很疑惑無論在第一個場景還是在其他兩個場景中添加這些.h文件的位置?我可以知道什麼是IVR嗎? –
'ivr'或'ivar'是你的實例變量。你在說什麼.m或.h文件 –
我在問我應該將這三個視圖控制器的.h文件導入到另一個? –
如果你使用MVC(模型 - 視圖 - CONTROLER)設計模式,你將保持在一個單獨的模型中共享數據。這樣你就可以消除視圖和數據之間的直接聯繫。如果他們的視圖可以更改模型中的數據,請讓您的控制器保持模型最新。 – Jim
@Jim我很抱歉,我不明白你的意思。你的意思是創建一個新的類只是爲了讓我的變量,並引用頭文件中的所有視圖控制器頭文件? –
是的。這是通常的做法。從長遠來看,從您的視圖和視圖控制器對象中刪除數據可以簡化您對數據的管理。它還簡化了其他對象實現。允許通過設置者和獲取者或使用其他方法訪問數據。 – Jim