如何从Objective-C中的其他类访问IBOutlet?

时间:2011-02-19 22:34:55

标签: objective-c xcode macos properties iboutlet

如何访问在另一个类中创建的IBOutlets?例如,如果IBOutlet中有Class A,我如何才能访问Class B?如果我无法从其他课程中访问IBOutlets什么是解决方法?

1 个答案:

答案 0 :(得分:11)

您需要让IBOutlet成为@property并通过@synthesize为该属性定义一个getter,或者您可以定义自己的getter,这是前者的示例:< / p>

@interface ClassA : NSObject {
   UIView *someView;
}
@property (nonatomic, retain) IBOutlet UIView *someView;
@end

@implementation ClassA

@synthesize someView;

...

@end

然后,在ClassB中,您可以执行此操作:

@implementation ClassB 

- (void) doSomethingWithSomeView {
   ClassA *a = [ClassA new];
   UIView *someView = [a someView];
   //do something with someView...
}

...

@end