iphone - 实现自定义 UITableViewController 类并避免委托(delegate)警告

标签 iphone ios cocoa-touch uitableview delegates

我正在尝试制作我自己的 UITableViewController 版本在 UIViewController (更多定制)。因此,在我的父类(super class)中,我同时实现了委托(delegate)和数据源并设置了 UITableView对象委托(delegate)和数据源属性到“this”。唯一的问题是我收到一个编译器警告,提示我没有实现强制的 dataSource 和委托(delegate)方法。当我将自定义 UITableViewController 子类化时,我希望能够实现这些方法.

有没有一种巧妙的方法可以让这些警告消失,或者是我放置强制委托(delegate)方法的空版本,然后在子类中覆盖它们的唯一方法?这是不好的做法吗?任何人都知道 Apple 如何通过 UITableViewController 实现这一点类(class)?

最佳答案

我将此模式用于“抽象”方法:

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    [self doesNotRecognizeSelector:_cmd];
    abort();
}
_cmd变量是当前方法的选择器。它是自动提供的,就像 self .

您必须调用 abort()因为编译器知道 abort()不返回,但它不知道 doesNotRecognizeSelector: .

至少在 iOS 5 中,UITableViewController方法不为空,因为 UITableViewController支持从 Storyboard 加载预定义(静态)行。

关于iphone - 实现自定义 UITableViewController 类并避免委托(delegate)警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9119976/

相关文章:

javascript - 将 javascript source-maps 与 phonegap 一起使用

ios - 使用 ComponentsSeparatedByString 的 Tokenizer 给出不正确的结果

ios - Swift NSCoding 中的 EXC_BAD_INSTRUCTION

iphone - 将音频从 iPhone 传输到浏览器。有想法吗?

iphone - AVAssetReader 和音频队列流问题

iOS 键盘和 TextView 错误 - "use of undeclared variable"

iOS 屏幕捕获/录制

iphone - 是否可以将图像保存到应用程序自己的相册中,而不在相机胶卷中重复?

iphone - 取消对 iPhone 3G 的支持

objective-c - 使用 UITableView 和条件时字体颜色设置不正确