覆盖Obj-c中的方法不起作用

时间:2011-05-02 14:14:00

标签: xcode4 override

我还在与Obj-c学习。 我试图覆盖来自Three20的TTThumbsTableViewCell中的setColumnCount方法, 但我不知道为什么它不会工作。 在超类(TTThumbsTableViewCell)的方法setColumnCount中我添加了一个NSLog(@“Test Super”)和setColumnCount方法中的TTThumbsTableViewCell的子类我添加了NSLog(@“Test Sub”)并且子类方法从不打印出“测试子”。

我不确定我是否在Obj-C中正确覆盖,基本上我将整个方法setColumnCount从TTThumbsTableViewCell复制到subClass并在那里修改它,但它仍然没有在子类中运行重写方法。

有什么我想念的吗? 我正在使用XCode 4

提前致谢

布雷特

南非

1 个答案:

答案 0 :(得分:0)

我有一个名为GridImage的TTThumbsTableViewCell子类

@interface GridImage:TTThumbsTableViewCell'<'TTPhoto> {

//Code...

@end

.m覆盖了setColumnCount方法

'#'import“GridImage.h”

@implementation GridImage

  • (void)setColumnCount:(NSInteger)columnCount { NSLog(@“Test Sub”); if(_columnCount!= columnCount){     for(TTThumbView * _Viewm中的thumbView){         [thumbView removeFromSuperview];     }     [_thumbViews removeAllObjects];

    _columnCount = columnCount;
    
    for (NSInteger i = _thumbViews.count; i < _columnCount; ++i) {
        TTThumbView* thumbView = [[[TTThumbView alloc] init] autorelease];
        [thumbView addTarget:self action:@selector(thumbTouched:)
            forControlEvents:UIControlEventTouchUpInside];
        [self.contentView addSubview:thumbView];
        [_thumbViews addObject:thumbView];
        if (_photo) {
            [self assignPhotoAtIndex:_photo.index+i toView:thumbView];
        }
    }
    

    } }

可能与'&lt;'TTPhoto&gt;有关吗?来自Three20的协议?