Iphone 混淆UITableView numberOfRowsInSection语法
我有一个选项卡视图,为每个选项卡加载一个表视图 第一个选项卡界面声明UITableView*tableView; 第二个选项卡界面声明UITableView*favTableView 为第二个表声明行数时,此操作有效:Iphone 混淆UITableView numberOfRowsInSection语法,iphone,xcode,Iphone,Xcode,我有一个选项卡视图,为每个选项卡加载一个表视图 第一个选项卡界面声明UITableView*tableView; 第二个选项卡界面声明UITableView*favTableView 为第二个表声明行数时,此操作有效: - (NSInteger)tableView:(UITableView *)favTableView numberOfRowsInSection:(NSInteger)section { return [favList count]; } 但如果我将其更改为: - (N
- (NSInteger)tableView:(UITableView *)favTableView numberOfRowsInSection:(NSInteger)section {
return [favList count];
}
但如果我将其更改为:
- (NSInteger)favTableView:(UITableView *)favTableView numberOfRowsInSection:(NSInteger)section {
return [favList count];
}
当我尝试加载第二个选项卡时,应用程序崩溃
我的错误是(a)不理解哪一个是变量/保留字,(b)给每个表一个唯一标识符,即favTableView,而不是重用tableView
另外,第二个表没有标题栏,正如您所指出的,委托可能使用预设的方法名称。不重用tableView不应该存在功能问题,因为您可能会重用favTableView。标题栏问题应该通过在自定义tableView中手动设置标题的属性来解决。如果要查找标题,则必须设置高度和大小的属性。正如您所指出的,委托可能使用预先设置的方法名称。不重用tableView不应该存在功能问题,因为您可能会重用favTableView。标题栏问题应该通过在自定义tableView中手动设置标题的属性来解决。如果要查找标题,则必须设置高度和大小的属性。必须实现的委托方法是
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
在这个方法原型中,tableView:
(注意冒号)是一个固定名称,您不能更改。tableView
的第二个实例只是一个局部变量名,在方法中有意义。以下内容同样有效:
-(NSInteger)tableView:(UITableView *)tv numberOfRowsInSection:(NSInteger)section
委托方法名称就是它们的名称。您无法决定是否希望委托方法名称为其他名称,或者UITableView
如何知道在需要委托信息时调用哪些方法
因此,对于表favTableView,如果将实现上述委托方法的对象指定为favTableView的委托,那么在调用局部变量时,tv
实际上与favTableView
相同
我知道你会对这件事感到困惑。SDK使用“tableView”处理很多事情:方法原型占位符名称、变量名称,谁知道还有什么。它归结为能够阅读和理解Objective-C方法签名。:-)这有点奇怪,直到你习惯了为止。你必须实现的委托方法是
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
在这个方法原型中,tableView:
(注意冒号)是一个固定名称,您不能更改。tableView
的第二个实例只是一个局部变量名,在方法中有意义。以下内容同样有效:
-(NSInteger)tableView:(UITableView *)tv numberOfRowsInSection:(NSInteger)section
委托方法名称就是它们的名称。您无法决定是否希望委托方法名称为其他名称,或者UITableView
如何知道在需要委托信息时调用哪些方法
因此,对于表favTableView,如果将实现上述委托方法的对象指定为favTableView的委托,那么在调用局部变量时,tv
实际上与favTableView
相同
我知道你会对这件事感到困惑。SDK使用“tableView”处理很多事情:方法原型占位符名称、变量名称,谁知道还有什么。它归结为能够阅读和理解Objective-C方法签名。:-)这有点奇怪,直到你习惯为止。马克-谢谢。现在您已经说过,语法颜色编码更有意义,命名代表tv而不是tableView(gggrrrr)也更有意义。因此,对于第二个tableView(唯一的区别是源xml文件),基本上重用第一个tableView中的代码,但是对于第二个tableView,header和didSelectRowAtIndexPath视图不起作用-谢谢。现在您已经说过,语法颜色编码更有意义,命名代表tv而不是tableView(gggrrrr)也更有意义。因此,从本质上讲,将第一个tableView中的代码重新用于第二个tableView(唯一的区别是源xml文件),但对于第二个tableView,header和didSelectRowAtIndexPath视图不起作用