我對這個問題感到無知,因爲我知道這很簡單。目標:在離開後保留一個視圖上的變量,然後返回。iOS在離開之後保留了一個視圖上的多個變量然後返回到它
例如:比方說,我們有的MainView,類別查看和(擊鼓聲)ProjectView
應用打開的MainView它會顯示一個表格 - 用戶選擇他們希望選擇一個類別。這segue的他們到類別查看。一旦做出選擇,我將所選類別發送回MainView。通過
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
這裏沒問題。 MainView接收變量並在「類別」部分中將所選類別顯示爲子文本。接下來,用戶想要選擇一個項目名稱(這也是一個預定義列表)。他們選擇項目,然後將該變量發送回MainView。 (現在有人可以向我解釋爲什麼當我回到主視圖時,之前持有'selected'類別的NSString變量現在爲空?
所以我的NSString selectedProject沒有被保留正確嗎?我應該在這裏做什麼正確的實施?或者我錯過了什麼?我真的很想了解發生了什麼,所以任何事情都會很有幫助。
的MainView接口
@interface MainViewController : UIViewController {
NSString *selectedProjectName;
NSString *selectedCategory;
}
@property (nonatomic, retain) NSString *selectedProjectName;
@property (nonatomic, retain) NSString *selectedCategory;
@end
的MainView實施
@implementation MainViewController
@synthesize selectedCategory, selectedProjectName;
,如果你需要它.. ProjectView實施
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([[segue identifier] isEqualToString:@"masterSegue"]) {
MainViewController *vc = (MainViewController *)[segue destinationViewController];
LogValues *lv = [LogValues alloc];
lv.project = @"Test Project Name";
vc.selectedProjectName = lv.project;
}
}
可能因爲您沒有「回到」主視圖,您可能正在創建一個新實例。你如何回到主視圖(什麼類型的segue)? – rdelmar
返回我已將segue設置爲模態 –