如何访问我正在从方法寻址的对象

时间:2014-02-05 19:19:51

标签: objective-c

我想这是一个非常基本的问题,但无论如何我不知道怎么称呼这种方法因此我无法在网上找到它。

假设我有一个对象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创建自定义类?

3 个答案:

答案 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