UITableViewCell _tableView属性?

时间:2013-02-28 03:44:13

标签: ios objective-c cocoa-touch uitableview

我正在尝试实现自定义UITableViewCell,我希望从单元子类访问父tableView。我正在创建一个允许我指定tableview的自定义init方法,但遇到了错误。

我尝试声明__weak UITableView *_tableView;的iVar但是,我收到一个错误声明它是一个重复的声明。我查看了UITableViewCell头文件,果然,有一个

的声明
@private
    UITableView *_tableView;

这很好,因为我认为iOS会为我设置这个,但是我想知道我是否可以使用它,或者这是否会让我的应用程序被拒绝。没有关于这方面的文件,我没有发现任何在线任何地方的提及。

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

你是不是试图访问私人ivar。我建议不要费心去传递superview,但只是使用表格单元格可用的内容来查找它的封闭tableView

的UIView + mytable.h:

#import <UIKit/UIKit.h>

@interface UIView (mytable)

- (UITableView *)mySuperTableView;

@end

的UIView + mytable.m:

#import "UIView+dsltable.h"

@implementation UIView (dsltable)

- (UITableView *)mySuperTableView
{
    if ( [self isKindOfClass: [UITableView class]] )
        return (UITableView *)self;
    return [self.superview mySuperTableView];
}

@end

答案 1 :(得分:0)

不,您无法访问未记录的私人ivar。您需要添加具有不同名称的ivar,或者通过获取单元格的超级视图来获取表格视图。