我有一个主控制器,它实现了自定义类的方法。现在在主控制器中,我想在警报视图中添加一个表,我需要为其实现UITableView委托方法。我想实现类似下面的内容
单击Click Here
按钮,将显示一个警报视图,其中包含一个显示所有项目的表。
CustomController定义如下
@interface CustomController : UIViewController
@interface mainController : CustomController<CustomDelegateMethod>
@interface mainController()
@interface mainController : CustomController<CustomDelegateMethod>
//我想将UIViewController<UITableViewDelegate, UITableViewDataSource>
添加到上一行。
MainController中的AlertView代码:
UIAlertView *av = [[UIAlertView alloc] initWithTitle:@"List of Items" message:nil delegate:self cancelButtonTitle:@"Back" otherButtonTitles:@"Add New Item", nil];
tableView = [([UITableView alloc])initWithFrame:CGRectZero style:UITableViewStyleGrouped];
tableView.delegate = self;
tableView.dataSource = self;
tableView.backgroundColor = [UIColor clearColor];
[av addSubview:tableView];
[av show];
如何从不同的控制器实现委托方法?
因为当我添加
@interface mainController : CustomController<CustomDelegateMethod>,UIViewController<UITableViewDelegate, UITableViewDataSource>
它抛出错误Expected identifier or '('
如果我添加像这样的tableview委托方法
@interface mainController : CustomController<CustomDelegateMethod,UITableViewDelegate, UITableViewDataSource>
,运行应用程序时不调用委托方法。
答案 0 :(得分:0)
尝试:
<。>文件中的
@interface mainController : CustomController
<。>文件中的
@interface mainController() <CustomDelegateMethod,UITableViewDelegate, UITableViewDataSource>
@property(nonatomic,strong)UITableView * tableView;
@end
UIAlertView *av = [[UIAlertView alloc] initWithTitle:@"List of Items" message:nil delegate:self cancelButtonTitle:@"Back" otherButtonTitles:@"Add New Item", nil];
UITableView *tableView = [([UITableView alloc])initWithFrame:CGRectZero style:UITableViewStyleGrouped];
tableView.delegate = self;
tableView.dataSource = self;
tableView.backgroundColor = [UIColor clearColor];
self.tableView = tableView;
[av addSubview:tableView];
[av show];