我想这是一个非常基本的问题,但无论如何我不知道怎么称呼这种方法因此我无法在网上找到它。
假设我有一个对象myImg
:
UIImageView *myImg = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"myImg.png"]];
一种方法:
-(void)myMethod {
// access myImg and change something on it
}
当我点击myImg
时,如何访问myMethod
内的[myImg myMethod];
对象:
{{1}}
是否可以或者我是否必须使用自定义方法为UIImageView创建自定义类?
答案 0 :(得分:3)
如果您已在myMethod
类别中声明UIImageView
,则可以使用myImg
引用self
。
@interface UIImageView (Category)
- (void)myMethod;
@end
@implementation UIImageView (Category)
- (void)myMethod
{
// reference self here for reference to myImg
}
@end
答案 1 :(得分:-1)
将方法更改为:
-(void)myMethod:(UIImageView *myImg) {
// access myImg and change something on it
}
更新:您正在寻找如何实施类别。请参阅apple https://developer.apple.com/library/ios/documentation/cocoa/conceptual/ProgrammingWithObjectiveC/CustomizingExistingClasses/CustomizingExistingClasses.html
提供的以下链接答案 2 :(得分:-1)
将属性添加到您要声明方法的类中:
@property (nonatomic, strong) UIImageView *myImg;
然后更改您创建UIImageView
:
self.myImg = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"myImg.png"]];
然后,从您的方法中,您可以通过引用UIImageView
来访问self.myImg
。