[英]Swift: pass string value from VC2 to VC1 on dismissViewControllerAnimated
[英]pass data from VC1 to VC4
我有一個關於數據管理的基本問題。 如果要在VC4
使用VC1
中的數據,即使它們未使用數據,我也需要通過VC2
和VC3
傳遞它們嗎?
我正在使用navigationController
,現在有以下情況:在VC4
,我將連接到webserver
以根據VC1
用戶選擇的內容檢索一些數據。
我在VC2
, VC3
和VC4
header
文件中聲明properties
。
@property (strong, nonatomic) NSString *myString
。
現在,由於我使用的是storyboards
,因此我使用prepareForSegue
方法傳遞了此@property
。 因此,基本上,它們在VC1
, VC2
和VC3
上看起來像這樣:
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([segue.identifier isEqualToString:@"mySegue"]) {
NextVC *next = (NextVC*)segue.destinationViewController;
next.myString = self.myString;
}
}
現在,這對我來說很好用,我只想確保這是一種好的編程習慣,如果沒有更好的方法可以做到這一點。 特別是當我們有大量數據時,由於並非總是如此,我們僅傳遞簡單的NSStrings
。 我只是擔心將memory
分配給我不使用的對象,無論大小。
您的方法是正確的。
另外,您始終可以使用UINavigationController
的viewControllers
屬性。
您可以通過調用以下命令從VC4
訪問VC1
:
UIViewController *vc1 = self.navigationController.viewControllers[0];
然后訪問所需的VC1
的數據。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.