重写 Obj-c 中的方法不起作用
我仍然处于 Obj-c 的学习曲线上。 我正在尝试重写 Three20 中 TTThumbsTableViewCell 中的 setColumnCount 方法, 但我不知道为什么它不起作用。 在超类(TTThumbsTableViewCell)的方法setColumnCount中,我添加了一个NSLog(@“Test Super”),在setColumnCount方法中添加了TThumbsTableViewCell的子类,我添加了NSLog(@“Test Sub”),并且子类方法从不打印出“测试子”。
我不确定我是否在 Obj-C 中正确重写,基本上我将整个方法 setColumnCount 从 TTThumbsTableViewCell 复制到子类并在那里修改它,但它仍然不会在子类中运行重写的方法。
我有什么遗漏的吗? 我正在使用 XCode 4
提前致谢
Brett
南非
I'm still on a learning curve with Obj-c.
I'm trying to override the setColumnCount method in the TTThumbsTableViewCell from Three20,
but I don't know why It wont work.
In the method setColumnCount from the super class (TTThumbsTableViewCell) I've added a NSLog(@"Test Super") and the subclass of TTThumbsTableViewCell in setColumnCount method I've add NSLog(@"Test Sub") and the subclass method never prints out "Test Sub".
I'm not sure if I'm overriding correctly in Obj-C, basically I copy the whole method setColumnCount from TTThumbsTableViewCell to the subClass and modify it there, but it still doesn't run the overridden method in the subclass.
Is there something I'm missing?
Im working with XCode 4
Thanks in advance
Brett
South Africa
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我有一个名为 GridImage
@interface GridImage 的 TTThumbsTableViewCell 子类: TTThumbsTableViewCell '<'TTPhoto>{
@end
.m 覆盖的是 setColumnCount 方法
'#'import "GridImage.h"
@implementation GridImage
(void)setColumnCount:(NSInteger ) 列数 {
NSLog(@"测试子");
if (_columnCount !=columnCount) {
for (TTThumbView* _thumbViews 中的thumbView) {
[thumbView 从Superview 删除];
}
[_thumbViewsremoveAllObjects];
}
}
这可能与 '<'TTPhoto> 有关吗 Three20 的协议?
I have a TTThumbsTableViewCell subClass called GridImage
@interface GridImage : TTThumbsTableViewCell '<'TTPhoto>{
@end
The .m override's the setColumnCount method
'#'import "GridImage.h"
@implementation GridImage
(void)setColumnCount:(NSInteger)columnCount {
NSLog(@"Test Sub");
if (_columnCount != columnCount) {
for (TTThumbView* thumbView in _thumbViews) {
[thumbView removeFromSuperview];
}
[_thumbViews removeAllObjects];
}
}
Could it be something to do with the '<'TTPhoto> protocol from Three20?