【发布时间】:2011-02-19 22:34:54
【问题描述】:
如何访问在另一个类中创建的IBOutlets?例如,如果我在Class A 中有一个IBOutlet,我如何才能在Class B 中访问?如果我无法从其他课程访问IBOutlets,有什么解决方法?
【问题讨论】:
标签: objective-c xcode macos properties iboutlet
如何访问在另一个类中创建的IBOutlets?例如,如果我在Class A 中有一个IBOutlet,我如何才能在Class B 中访问?如果我无法从其他课程访问IBOutlets,有什么解决方法?
【问题讨论】:
标签: objective-c xcode macos properties iboutlet
您需要将IBOutlet 设为@property 并通过@synthesize 为该属性定义一个getter,或者您可以定义自己的getter,这是前者的一个示例:
@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
【讨论】: