2012-09-08 2 views
0

Я пытаюсь упаковать UITableView как свой собственный. Код:UITableView не назовет делегата

@interface OPTableView : UIView<UITableViewDelegate,UITableViewDataSource> 
{ 
    NSMutableArray *_dataSource; 
    id<OPTableviewDelegate>_delegate; 
} 
@property(retain,nonatomic)id<OPTableviewDelegate>delegate; 
@property(retain,nonatomic)NSMutableArray *dataSource; 

.m:

@implementation OPTableView 

@synthesize delegate=_delegate; 
@synthesize dataSource=_dataSource; 

- (id)initWithFrame:(CGRect)frame 
{ 
    self = [super initWithFrame:frame]; 
    if (self) { 
     tableView=[[UITableView alloc] initWithFrame:frame]; 
     tableView.delegate=self; 
     tableView.dataSource=self; 
     _dataSource=[NSMutableArray array]; 
     [self addSubview:tableView]; 
     [tableView release]; 
    } 
    return self; 
} 

#pragma table delegate 

- (void)tableView:(UITableView *)tab didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
} 

Когда я создаю OPTableView, он может показать в screen.But проблема заключается в том, что, когда я сделал выбрать одну таблицу, он не стал бы называть метод делегата: didSelectRowAtIndexPath, но что еще хуже, он ломается.

+4

Что значит «это ломается»? Он падает? Если да, то как? Какое сообщение вы получаете? Помогите нам помочь вам. –

+0

Да, он падает. Он просто показывает: 0x110009b: movl 8 (% edx),% edi. И журнал ничего не показывает. – Vic

ответ

0

Попробуйте установить стиль выбора ячейки для некоторого значения, отличного от значения. Также обратите внимание, что вы должны реализовать все необходимые сообщения делегата вашей таблицы - вы это сделали?

+0

Спасибо. Я сделал это. – Vic

0

Что такое OPTableViewDelegate? Делегат таблицы имеет тип OPTableViewDelegate, а не UITableViewDelegate.

+0

Я просто хочу преобразовать UITableViewDelegate в свой OPTableViewDelegate, может быть, вы явно не видите код. Я просто оставляю код. – Vic

0

все, я сделал действительно тупую ошибку. В методе «initWithFrame» код: _dataSource = [NSMutableArray array]; абсолютно неверно.

Я удаляю этот код «_dataSource = [NSMutableArray array];», все работает.

Спасибо всем.

Смежные вопросы