Как я могу получить доступ к IBOutlets из других классов в Objective-C? - PullRequest
5 голосов
/ 20 февраля 2011

Как получить доступ к IBOutlets, которые были созданы в другом классе?Например, если у меня есть IBOutlet в Class A, как я могу получить доступ в Class B?Если я не могу получить доступ к IBOutlets из других классов, что такое обходной путь?

1 Ответ

11 голосов
/ 20 февраля 2011

Вам нужно будет сделать IBOutlet a @property и определить геттер для этого свойства через @synthesize, или вы можете определить свой собственный геттер, вот пример первого:

@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
...