2012-01-29 94 views
-1

我正在构建一个小应用程序,我在一个TableView中显示一个数组。问题是我不想使用UITableViewController,我只想使用ViewController。当我在模拟器中运行应用程序时,它不显示数组。这里是代码:问题与UITableView

.h 
@interface ViewController : UIViewController{ 
    IBOutlet UITableView *table; 
    NSArray *array; 
} 

.m 


    - (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    array =[NSArray arrayWithObjects:@"iPad",@"iTV" ,nil]; 

} 

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView 
{ 

     return 1; 
} 

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 
{ 

     return [array count]; 
} 

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    static NSString *CellIdentifier = @"Cell"; 

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 

    cell.textLabel.text = [array objectAtIndex:indexPath.row]; 

    return cell; 
} 

请不要回答这个说法,我必须使用UITableViewController。我知道可以在没有它的情况下管理它,只需使用ViewController即可。不管怎样,谢谢你!

回答

2

定义你的界面就像

@interface ViewController : UIViewController <UITableViewDelegate, UITableViewDataSource>{ 
    IBOutlet UITableView *table; 
    NSArray *array; 
} 

,并设置tabledelegatedataSource出口File's owner,并File's owner的类如厦门国际银行ViewController

首先浏览你的项目,点击你的视图控制器的xib文件。然后从对象列表中选择表格视图。在这种情况下,可能会有一些额外的考虑:

如果您已经使用UITableViewController创建了xib,则需要对其进行修改以适合UIViewController。请记住,UIViewController子类实例显示为文件的所有者对象。你需要确保有一个顶级的UIView对象,它不作为任何其他视图的子视图添加,并且UIView中有一个UITableView。

Referencing outlets

UIView的应该有一个参考的出口:视图 - 文件的拥有者。如果没有,则从New Referencing Outlet的白色圆圈拖动到File's Owner,释放鼠标,然后单击view

对于表视图,单击并拖动New Referencing Outlet,并拖放到文件的所有者,并单击table,并拖累dataSourcedelegate,并分别下降到文件的所有者。

顺便说一句,建议使用一些大写字母作为任何类名称的前缀。

+0

谢谢你,它的现在可以! – Adri 2012-01-29 19:22:54

+0

所以......我认为它已经完成了,但还没有结束。我不知道如何做什么你说连接委托和数据源的文件的所有者,请如果你能解释这部分我将不胜感激! – Adri 2012-01-30 19:19:05

+0

如果可以,请回答。 – Adri 2012-01-30 22:26:02

0

您必须遵守TableViewDelegate协议... [http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UITableView_Class/Reference/Reference.html]