繁体   English   中英

没有可见的@interface错误,UITableView和registerClass

[英]No visible @interface error, UITableView and registerClass

我是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”,这使我无法运行项目。尽管我全面搜索了此错误,但似乎没有一个与问题相关我一直都有。

确保您使用的是最新版本的Xcode,并且定位到iOS 6.0或更高版本-这是iOS 6.0中添加的一种方法

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

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

经常检查女巫iOS版本方法所属。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM