2

我无法访问 IBOutlet。在 AI 类中有一个滚动视图,其代表设置为 B 类。

A 类标头

@property(nonatomic, strong) ClassB *B;

A 类实现

self.B = [[ClassB alloc] init];

[_scrollview setDelegate:self.B];

现在滚动视图调用 scrollViewDidScroll 确实在 ClassB 中正确滚动

- (void)scrollViewDidScroll:(UIScrollView *)scrollView

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

4

3 回答 3

0

您正在 A 类中创建您的委托对象(B)。这将起作用,但您可能不会获得出口。由于委托和您连接插座的对象将是您 B 类的两个不同实例。所以你要做的是在去classB之前从classA(作为self)设置委托。

于 2013-08-29T14:56:10.083 回答
0

要访问 Outlets,您需要从 NIB 加载您的 ClassB。

请参阅: - (NSArray *)loadNibNamed:(NSString *)name owner:(id)owner options:(NSDictionary *)options

于 2013-08-29T15:24:27.283 回答
0

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

@property(nonatomic, strong) ClassA *A;

用这条线。

@property(nonatomic, strong) ClassB *A;
于 2013-08-29T14:38:24.140 回答