问题与UITableView
我正在构建一个小应用程序,我在一个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即可。不管怎样,谢谢你!
定义你的界面就像
@interface ViewController : UIViewController <UITableViewDelegate, UITableViewDataSource>{
IBOutlet UITableView *table;
NSArray *array;
}
,并设置table
的delegate
和dataSource
出口File's owner
,并File's owner
的类如厦门国际银行ViewController
。
首先浏览你的项目,点击你的视图控制器的xib文件。然后从对象列表中选择表格视图。在这种情况下,可能会有一些额外的考虑:
如果您已经使用UITableViewController创建了xib,则需要对其进行修改以适合UIViewController。请记住,UIViewController子类实例显示为文件的所有者对象。你需要确保有一个*的UIView对象,它不作为任何其他视图的子视图添加,并且UIView中有一个UITableView。
UIView的应该有一个参考的出口:视图 - 文件的拥有者。如果没有,则从New Referencing Outlet
的白色圆圈拖动到File's Owner
,释放鼠标,然后单击view
。
对于表视图,单击并拖动New Referencing Outlet
,并拖放到文件的所有者,并单击table
,并拖累dataSource
,delegate
,并分别下降到文件的所有者。
顺便说一句,建议使用一些大写字母作为任何类名称的前缀。
您必须遵守TableViewDelegate协议... [http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UITableView_Class/Reference/Reference.html]
谢谢你,它的现在可以! – Adri 2012-01-29 19:22:54
所以......我认为它已经完成了,但还没有结束。我不知道如何做什么你说连接委托和数据源的文件的所有者,请如果你能解释这部分我将不胜感激! – Adri 2012-01-30 19:19:05
如果可以,请回答。 – Adri 2012-01-30 22:26:02