2014-03-18 23 views
0

在我的應用程序中,我使用Web服務中的一系列作業填充tableview。每個工作都有一個特定的工作ID,我可以抓住。現在,當有人從表視圖中點擊一個作業時,它們被帶到DetailsViewController,它顯示關於該作業的所有信息。到目前爲止,我的代碼看起來像這樣設置職位的細節視圖控制器:如何從Web服務獲取ID並使用它來定位對象

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

    NSString *theCorrectUrlString = [NSString stringWithFormat:@"%@", theUrlString]; 
    NSURL *url = [NSURL URLWithString:theCorrectUrlString]; 

    NSData *data = [NSData dataWithContentsOfURL:url]; 

    NSError *error; 

    NSMutableArray *jobsCallArray = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error]; 


    for (NSDictionary *theJob in jobsCallArray) 
    { 
     DetailsViewController *detailVC = (DetailsViewController*)segue.destinationViewController; 

     NSString *jobPosTitle = theJob[@"position_title"]; 

     [detailVC setJobTitleString:jobPosTitle]; 

    } 

    } 
} 

此代碼然而,讓我對每一個細胞都在同一職位。我想知道如何才能獲得在我的表格視圖中選擇的具體工作,並在一個頁面上顯示所有細節。

所有的幫助表示讚賞,在此先感謝。

回答

0

您的代碼沒有多大意義。在這個小片段中,您正在遍歷數組,並且您爲每個對象調用setJobTitleString,但顯然無論這個setJobTitleString方法如何,值都被覆蓋,並且只能看到最後一個值。

for (NSDictionary *theJob in jobsCallArray) 
{ 
    DetailsViewController *detailVC = (DetailsViewController*)segue.destinationViewController; 
    NSString *jobPosTitle = theJob[@"position_title"]; 
    [detailVC setJobTitleString:jobPosTitle]; 
} 

我真的不能告訴你怎麼解決這個問題,因爲我不知道你想做什麼。在prepareForSegue內檢索dataWithContentsOfURL的數據很奇怪,尤其是因爲您正在檢索所有數據,但顯然您只想顯示一個項目的詳細信息。

+0

我的每個表格視圖單元格都應該有一個ID。我只想抓住該ID,並獲取我的DetailsViewController上的每個對象的內容 – doc92606

+0

如何設置此ID? – Merlevede

+0

我的表格中的每個單元格都有一個來自Web服務。它給它一個隱藏的ID – doc92606

相關問題