【发布时间】:2013-12-17 03:22:34
【问题描述】:
查看代码:
@implementation UIView (ios7)
- (void)layoutSubviews
{
[self layoutSubviews];
// ......
}
显然,这将导致“无限递归”。 超级也没有帮助。 我只是想在一个公共类的一个公共函数中添加一些代码,不认为继承会有帮助。 那么,他们有什么方法可以做到这一点。或者我的要求只是愚蠢的。 谢谢!
++++++++++++++++++++++++++++
@interface CPUIView :UIView
- (void)layoutSubviews;
@end
...
@implementation CPUIView
- (void)layoutSubviews
{
[super layoutSubviews];
// add some code
}
@end
@implementation UIView (CP)
+ (Class)class
{
return NSClassFromString(@"CPUIView");
}
我认为这段代码将帮助我解决我的问题,我只想重写 UIView 的 layoutSubviews 函数。因此,我项目中的任何 UIView 类都会执行我想要在此函数中执行的操作。
【问题讨论】:
-
简短回答:无法调用原始方法,您不应覆盖类别中的现有方法。
-
它是possible,但不要这样做。
标签: ios objective-c