【问题标题】:How Do I Access IBOutlets From Other Classes in Objective-C?如何从 Objective-C 中的其他类访问 IBOutlets?
【发布时间】:2011-02-19 22:34:54
【问题描述】:

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

【问题讨论】:

    标签: objective-c xcode macos properties iboutlet


    【解决方案1】:

    您需要将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
    

    【讨论】:

      猜你喜欢
      • 2013-07-04
      • 2010-12-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多