1

我是 Objective-C/Xcode 的新手,所以请耐心等待。

我正在尝试实现一个 TableView,其中每个单元格都包含另一个 View,类似于 Master-Detail 模板。我正在关注一本教从头开始做的书(换句话说,没有 Interface Builder)。

在我使用 viewDidLoad 方法之前,一切似乎都很顺利:

-(void)viewDidLoad
{
[super viewDidLoad];
}

这本书告诉我在结束大括号之前插入这段代码:

[self.tableView registerClass:[UITableViewCell class] forCellReuseIdentifier:CellIdent];

连同一个静态变量,在@implementation 之前:

static NSString *CellIdent = @"Cell";

但是,这是我的问题:当我尝试键入“registerClass”时,UITableView 类似乎不包含该方法。我遵循了这个文档: http: //developer.apple.com/library/ios/#documentation/UIKit/Reference/UITableView_Class/Reference/Reference.html#//apple_ref/occ/cl/UITableView说该方法确实是该类的一部分,但 Xcode 似乎无法识别它。我想知道这是否是语法问题,但我找不到任何不起作用的代码部分(我什至从其他教程中复制粘贴了同一行代码,以确保)。

如果我不得不猜测,我会说我以某种方式错误地实现了 UITableView 类,但我无法弄清楚问题所在。帮助?

抛出的确切错误是,“'UITableView' 没有可见的@interface 声明了选择器'registerClass:forCellReuseIdentifier',这使我无法运行项目。虽然我全面搜索了这个错误,但似乎没有一个与问题有关我一直在吃。

4

2 回答 2

0

确保您使用的是最新版本的 Xcode 并针对 iOS 6.0 或更高版本 - 这是 iOS 6.0 中添加的一种方法

单击项目,然后在摘要下查找部署目标并检查版本号。

于 2013-04-01T06:54:12.790 回答
0

registerClass:forCellReuseIdentifier: 在 iOS 6.0 或更高版本中可用,可能您在应用程序中选择较早的 iOS 版本作为目标。

始终检查女巫 iOS 版本方法所属。

于 2013-04-01T06:56:26.193 回答