我是 iOS 开发新手。我的主视图 Controller 不显示其 TableView 中的任何单元格。我试图将其设置为暂时只显示一个单元格。主视图 Controller 是 UIViewController 的子类,并且还有一个带有原型(prototype)单元格的 TableView 。所以我的 MainViewController.h 文件如下所示:
#import <UIKit/UIKit.h>
@interface MainViewController : UIViewController <UITableViewDataSource>
@property (weak, nonatomic) IBOutlet UIBarButtonItem *sidebarButton;
@end
我让 MainVewController 成为 UITableViewDataSource 的委托(delegate),这是正确的想法吗?我的 MainViewController.m 如下所示:
#import "MainViewController.h"
#import "SWRevealViewController.h"
@interface MainViewController ()
@end
@implementation MainViewController
- (void)viewDidLoad
{
[super viewDidLoad];
self.title = @"Home";
SWRevealViewController *revealViewController = self.revealViewController;
if(revealViewController) {
[self.sidebarButton setTarget: self.revealViewController];
[self.sidebarButton setAction: @selector(revealToggle:)];
[self.view addGestureRecognizer:self.revealViewController.panGestureRecognizer];
}
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 1;
}
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return 1; //change to number of post objects in array (array.count)
}
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"basicCell" forIndexPath:indexPath];
return cell;
}
@end
我不明白我在这里做错了什么。我的 MainViewController 的 TableView 不应该正确显示单元格吗?想法?
最佳答案
你应该在 viewDidLoad 中使用:
[self.tableView setDelegate:self];
[self.tableView setDataSource:self];
关于ios - 使 UITableViewDataSource 的主视图 Controller 委托(delegate),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30254691/