![](/img/trans.png)
[英]How to pass data to collection view controller embedded in navigation controller
[英]How to pass data from one view controller to another view controller which is embedded in navigation controller
我能夠將數據從一個視圖控制器傳遞給另一個視圖控制器,但是當我將viewpapersViewController嵌入導航控制器時,數據沒有傳遞,我想在按下按鈕時將數據傳遞給第二個視圖控制器
最初在按下按鈕時發送請求,然后在connectionDidFinishLoading中
- (void)connectionDidFinishLoading:(NSURLConnection *)connection {
// NSLog(@"Finish Loading");
NSError *myError = nil;
NSDictionary *res = [NSJSONSerialization JSONObjectWithData:self->_responseData options:NSJSONReadingMutableLeaves error:&myError];
Papers *papersViewController =
[self.storyboard instantiateViewControllerWithIdentifier:@"Papers"];
papers = [[NSMutableArray alloc]init];
urls=[[NSMutableArray alloc]init];
for(id key in res) {
NSString* name = [key objectForKey:@"name"];
NSString* url =[key objectForKey:@"url"];
[papers addObject:name];
[urls addObject:url];
}
viewpapersViewController.exam = exam;
viewpapersViewController.papersName=papers;
viewpapersViewController.urls=urls;
[self presentViewController:viewpapersViewController animated:YES completion:Nil];
}
假設您要傳遞字符串,則可以通過以下步驟簡單地傳遞數據:
1-繼續第二個視圖控制器,並采取-NSString * str;
2-當您按下第一個視圖控制器中的按鈕時,直接傳遞數據
像:-secondClassObject.str = FirstClassString。 3-然后簡單地推動您的導航。
通常,我們將通過兩種方式傳遞數據:
對於您的問題,我能想到的是您沒有正確使用UIViewController 。 您可能可以嘗試首先獲取UINavigationController 。 然后,使用此屬性訪問頂部的UIViewController: topViewController
如果您已將ViewController與相同的Navigation Controller連接。 您必須已通過從1st視圖拖到2nd視圖執行了從1st視圖到2nd視圖的PUSH Segue。 在其中單擊“推送”選項。 您已經以此建立了Push Segue。
單擊2個視圖之間的鏈接給標識符命名以進行篩選。
現在,您可以通過以下方式執行簡單的Segue
[self performSegueWithIdentifier:@"identifier for segue" sender:self];
現在處於第一視圖
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
if([[segue identifier] isEqualToString:@"identifier segue"]){
// Get the new view controller using [segue destinationViewController].
2nd View *vc = [segue destinationViewController];
2nd vc.variableName = YES;
}}
在界面文件的第二視圖中添加屬性
@property variable *variableName;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.