我使用@implementation
向UIView
添加新功能。
@implementation UIView (test)
- (void)newFunction {
}
@end
现在,在newFunction
我想要"抓住"调用函数时使用的对象(UIView
)。
例如,当我在newFunction
viewDidLoad
时
- (void)viewDidLoad {
[myView newFunction];
}
我希望newFunction
知道用于调用的对象(在本例中为myView
)。
一个简单的解决方案是在拨打电话时传递它([myView newFunction:myView]
),但这是不我正在寻找的。 p>
我看了Apple's documentation on the subject,但没有真正找到我的问题的答案。
答案 0 :(得分:2)
#import "UIView+UIView_Category.h"
@implementation UIView (UIView_Category)
- (void)newFunction
{
NSLog(@"Object = %@",self);
}
@end
答案 1 :(得分:1)
您描述的内容称为类别(不是@implementation)。它是UIView
类的扩展(在本例中)。
Generalcally:
@implementation __CLASS_TO_EXTEND__ (__CATEGORY_NAME__)
类别,因为它是扩展名,是您调用方法的实例。因此,您通常会使用self
来访问当前实例。