2010-04-24 101 views
1

我試着問過這個,但沒有得到任何答案。基本上,我希望有人向我解釋如何創建一個表格,當點擊一個單元格時,將用戶推入該單元格的下一個視圖。我有這個至今:iPhone:創建一個基於層次結構的表導航

Click here to view what I have.

我願進一步,說什麼時候CSS被竊聽,它進入具有另一個中有一個新的看法。然後這個表格將用戶帶到一個可滾動的細節視圖,您可以通過它切換頁面。

我將不勝感激更長的,更結構化的教程,如何做到每一個點,以得到它工作

下面是我在我的實現文件數組:

- (void)viewDidLoad { 
    arryClientSide = [[NSArray alloc] initWithObjects:@"CSS", @"HTML", @"JavaScript", @"XML", nil]; 
    arryServerSide = [[NSArray alloc] initWithObjects:@"Apache", @"PHP", @"SQL", nil]; 
    self.title = @"Select a Language"; 
    [super viewDidLoad]; 
} 

和我的.h:

@interface RootViewController : UITableViewController <UITableViewDelegate, UITableViewDataSource> { 
    IBOutlet UITableView *tblSimpleTable; 
    NSArray *arryClientSide; 
    NSArray *arryServerSide; 
} 

我當前的代碼崩潰的腳本,並在控制檯返回此錯誤:

Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '-[UITableViewController loadView] loaded the "NextView" nib but didn't get a UITableView.' 

如果這個錯誤是它不推動的原因,那麼解釋如何糾正這個錯誤LD還可以理解的

NextViewController實施

// Implement viewDidLoad to do additional setup after loading the view, typically from a nib. 
- (void)viewDidLoad { 
    arryBasicCSS = [[NSArray alloc] initWithObjects:@"Implement", @"Syntax", @"Classes and IDs", @"Fonts", @"Backgrounds", @"Lists", @"Links", nil]; 
    arryIntermediateCSS = [[NSArray alloc] initWithObjects:@"Padding and Margin", @"Alignment and Floating", @"Pseudo-class and Element", @"Opacity and Display", nil]; 
    arryAdvancedCSS = [[NSArray alloc] initWithObjects:@"Sprites", @"Attribute Selectors", @"Animation", nil]; 
    self.title = @"CSS"; 
    [super viewDidLoad]; 
} 

- (IBAction) changeItemTable:(NSString *)str{ 
    tblCSS = str; 
} 

NextViewController.h

@interface NextViewController : UITableViewController { 
    IBOutlet UITableView *tblCSS; 
    NSArray *arryBasicCSS; 
    NSArray *arryIntermediateCSS; 
    NSArray *arryAdvancedCSS; 
} 

非常感謝, 傑克

回答

1

首先, 「終止應用程序由於未捕獲的異常」錯誤。我注意到,你的RootViewController的包含:

IBOutlet UITableView *tblSimpleTable; 

檢查以確保您已正確連接RootViewController的「觀點」屬性設置爲您的UITableView,而不僅僅是連接tblSimpleTable到您的TableView。 UITableViewController中的view屬性需要指向一個UITableView。

假設tblSimpleTable是要從此UIViewController控制的TableView,請刪除此插座並使用UITableViewController的「view」或「tableView」屬性,它們都將是有效的。

對於你原來的分級表視圖問題,必須在看看這個示例項目:

TheElements

1

如果SDK自己的文檔不提供答案您需要嘗試谷歌搜索UITableView Interface Builder tutorial。這應該會返回一些有用的分步教程。

您得到例外的原因是因爲您尚未將您的tblSimpleTable插座連接到Interface Builder中的表格視圖對象。

IB Outlets http://i41.tinypic.com/ohr1jb.png

打開NextView.xib在Interface Builder。選擇File's Owner對象。打開檢查器窗格,你會看到類似於我發佈的圖像的東西。你應該閱讀「tblSimpleTable」而不是「searchTable」。要將插座連接到文件的所有者,請單擊並按住「tblSimpleTable」右側的圓圈並將該行拖到您的「tblSimpleTable」對象。

alt text http://i44.tinypic.com/2pr8pi0.jpg

保存更改,重新構建項目。

+0

謝謝。我想我陷入了一個混亂的循環:我得到了各地的參考。當我嘗試嘗試你所做的時,我會遇到這兩個錯誤。順便說一下,我通過IB手動創建了tblCSS。不知道你的意思是我需要tblSimpleTable。我用我的NextViewController文件中的代碼更新了我的帖子。 – 2010-04-24 16:05:34