我正在使用UITableView
尝试在我的应用中显示一些信息,所以我很自然地希望使用UITableViewDelegate
和UITableViewDataSource
方法来帮助设置它,但我和# 39; m得到以下错误Expected Identifier or '('
。这是我的代码:
@interface ListVC (): UIViewController <UITableViewDelegate, UITableViewDataSource> //error location
@end
@implementation ListVC
- (void)viewDidLoad {
[super viewDidLoad];
_list = [NSArray arrayWithObjects:@"ài", @"bā", @"ba", nil];
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
}
@end
答案 0 :(得分:1)
你做错了。如果您打算在实现文件(.m)中放置扩展名,那么这是正确的语法:
@interface ListVC ()
@end
如果你想在协议中保持你的协议构造,那么正确的语法是:
@interface ListVC : UIViewController <UITableViewDelegate, UITableViewDataSource>
@end
如果你想让你的协议在实现文件中保持一致(这可能是你的情况),那么正确的语法是:
@interface ListVC () <UITableViewDelegate, UITableViewDataSource>
@end
答案 1 :(得分:1)
声明类扩展时,不应添加超类。超类已存在于类声明中,您无法在类扩展中更改它。
@interface ListVC () <UITableViewDelegate, UITableViewDataSource>