ios - 从另一个类的委托(delegate)中访问 IBOutlet

标签 ios objective-c

我无法访问 IBOutlet。在 A 类中,我有一个 ScrollView ,其代表设置为 B 类。

A 类 header

@property(nonatomic, strong) ClassB *B;

A 类实现
self.B = [[ClassB alloc] init];

[_scrollview setDelegate:self.B];

现在 ScrollView 调用 scrollViewDidScroll 确实在 ClassB 中正确滚动
- (void)scrollViewDidScroll:(UIScrollView *)scrollView

但是我无法从 scrollViewDidScroll 访问 ClassB 中声明的任何 IBOutlets。他们只是返回零。

最佳答案

这是因为您已在标题中将该属性声明为 A 类。在 ClassA.h 中更改以下行

@property(nonatomic, strong) ClassA *A;

用这条线。
@property(nonatomic, strong) ClassB *A;

关于ios - 从另一个类的委托(delegate)中访问 IBOutlet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18513905/

相关文章:

ios - 编辑模式下的多重选择并将数据传递到其他地方

ios - RCTDevSettings.setIsDebuggingRemotely(true) 错误 "undefined is not an object"

ios - 如何在 Xcode 9 中添加自定义库

objective-c - 自动释放 CFMutableDictionary

ios - 如何将用户标识保存在 nsuserdefaults 中?

objective-c - 我疯了吗?

ios - 已弃用的应用程序 :openURL method - iOS

ios - 如何创建 UITabBarController 并将其选项卡与协调器连接起来?

ios - 在 initWithCoder 中没有调用drawLayer?

iphone - 当 UIScrollview 停止滚动动画时获取标签的值