objective-c - 如何从 Objective-C 中的其他类访问 IBOutlets?

标签 objective-c xcode macos properties iboutlet

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

最佳答案

您需要将您的 IBOutlet 设为 @property 并通过 @synthesize 为该属性定义一个 getter,或者您可以定义您的自己的 setter/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

关于objective-c - 如何从 Objective-C 中的其他类访问 IBOutlets?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5053988/

相关文章:

ios - 如何正确确保 32 位和 64 位兼容性?

c++ - C++ Unordered_set 函数中的溢出

c++ - 体系结构 x86_64 : for caffe build 的 undefined symbol

macos - 没有主目录的 puppet 用户帐户?

macos - 从变量插入文件中的文本

iphone - 在选项卡栏应用程序中弹出到根 ViewController

objective-c - 为什么将 unsigned int 传递给 performSelector 会丢失位?

iphone - 如何从地址簿中检索 10-10 个联系人

iPhone:-将图像裁剪为所需形状和大小的最简单方法

ios - 在标签中显示测试时出错