2009-12-13 53 views
0

我會再試一次。我需要獲得第三個選項使用鑽取表格視圖的幫助。現在,當應用程序運行時,應用程序會在表中顯示全部三個,但當點擊第二個或第三個時,它將僅顯示第三個視圖。我在.plist上閱讀了一些教程,但是我想知道是否可以使用所有三個條件設置它。這裏是我有的代碼:如何爲鑽取表格視圖添加第三個選項?

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
if (indexPath.row == 0) 
    [details setContent:arrAutoLock]; 
    /*(indexPath.row == 1) 
    [details setContent:arrPasscodeLock];*/ 
    else 
     [details setContent:arrRestrictions]; 

     [[self navigationController] pushViewController:details animated:YES]; 
+0

會需要更多的信息,比如到底是什麼 - 視圖 - 控制器的setContent方法? – bpapa 2009-12-13 16:59:34

+0

setContent的作用是確定是否可以將字段顯示爲搜索結果的摘要。所有的選項/數組都包含在viewDidLoad中。如果需要,我也可以發佈。 – 2009-12-13 17:18:12

回答

0

我會開始在您的不同條件中的括號括起來。我總是用括號,但它們都需要,如果你有一個以上的行:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    if (indexPath.row == 0) { 
     [details setContent:arrAutoLock]; 
    } else { 
     [details setContent:arrRestrictions]; 
     [[self navigationController] pushViewController:details animated:YES]; 
    } 

既然你有三個選擇,你會希望有三個不同的行爲:

if (indexPath.row == 0) { 
    // handle first row here 
} else if (indexPath.row == 1) { 
    // handle second row here 
} else { 
    // handle third row here 
} 

或者你可以使用switch語句:

switch (indexPath.row) { 
    case 0: 
     // handle first row here 
     break; 
    case 1: 
     // handle second row here 
     break; 
    case 2: 
     // handle third row here 
     break;   
} 
+0

非常感謝Gerry!這正是我需要的。再次感謝。 – 2009-12-13 18:45:03

0

您在問題中使用的詞語沒有意義。你需要澄清你的意思。你說「鑽取表格視圖」。那是什麼意思?表格視圖不會向下鑽取。您可以使用表視圖來選擇行並將新視圖控制器推送到導航堆棧上,這是一種「向下鑽取」,但「向下鑽取表格視圖」是不合理的。

你繼續說「應用程序顯示所有三個表...」,所有三個是什麼?所有三排?所有三個部分?然後你說「當點擊第二或第三時,它只會顯示第三個視圖」。它是什麼」。你是否將新的視圖控制器推入導航堆棧,或者是否將新視圖添加到視圖層次結構中。視圖和視圖控制器是不同的東西?

最後,.plist教程與這些有什麼關係?再次,它的非感性。

我的猜測是你是非英語母語的人,所以這是你的主要挑戰。如果你能澄清你想要做的事情,它會讓你更容易幫助你。

最好的問候,

相關問題