2014-07-18 233 views
0

我正在構建一篇閱讀iOS應用的文章。在iPad中,我使用分割視圖控制器,並且我想通過傳遞不同的URL來更新詳細視圖控制器在主視圖控制器中點擊不同的單元格。 我無法通過NSURL形成一個類到另一個負載詳細視圖控制器(UITableView的)如何將NSURL從一個類傳遞到另一個類?

ysMaster.h

@property (strong, nonatomic) NSURL *ysURL; 

ysMaster.m:

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 


    switch (indexPath.row) 
    { 
     case 0: 
      [self performSegueWithIdentifier:@"Show1" sender:self]; 
      _ysURL = [NSString stringWithFormat:@"http://you.com/234234"]; 
     break; 

     case 1: 
      [self performSegueWithIdentifier:@"Show2" sender:self]; 
     _ysURL=[NSURL URLWithString:@"http://goal.com/99099"]; 
     break; 

     case 2: 
      [self performSegueWithIdentifier:@"Show3" sender:self]; 
      _ysURL=[NSURL URLWithString:@"http://gggg.com/99099"]; 
     break; 

     } 

    } 


    - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(NSString *)sender{ 
    if ([segue.identifier isEqualToString:@"Show1"]) 
    { 

    ysDetail *dest = segue.destinationViewController; 
    dest.ysURL=sender; 
     } 

    if ([segue.identifier isEqualToString:@"Show2"]) 
    { 

     ysDetail *dest = segue.destinationViewController; 
     dest.ysURL=sender; 
     [dest setURL:_ysURL]; 
    } 

    if ([segue.identifier isEqualToString:@"Show3"]) 
    { 

    ysDetail *dest = segue.destinationViewController; 
    dest.ysURL=sender; 
     } 


    } 

ysDetail.h:

@property (strong, nonatomic) NSURL *url; 

ysDetail.m:

NSData* data = [NSData dataWithContentsOfURL:_url]; 
    NSLog(@"uuuuuuuuu%@",_url); //url prints null 
+0

您指定的值,但不加載了VC。你在使用segue嗎? –

+0

嗨Yogesh,我沒有使用任何seague,在分割視圖控制器主控和詳細視圖控制器都包含uitableview,詳細信息視圖加載的網址現在我想通過不同的網址點擊主視圖控制器中的不同單元格。 – Daljeet

+0

試試這個http://stackoverflow.com/questions/10019422/passing-values-between-master-and-detail-in-uisplitviewcontroller-using-storyboa –

回答

0

您可以通過self.splitViewController 從masterViewController得到SplitViewController然後你就可以得到detailViewController作爲

DetailViewController *detailViewController = (DetailViewController*)self.splitViewController.viewControllers[1]; 

    detailViewController.url = yourURL; 
+0

@感謝蘇海爾,我在我的代碼中也做了同樣的事情,請再看一遍。但它不工作。 – Daljeet

0

嘗試創建一個ysDetail對象,然後創建一個方法與你的ysDetail類是Url的吸氣劑。

-(void)getUrl:(NSURL)url; 

,並創建一個對象:

@Property ysDetail *detailClass; 
相關問題