我无法访问IBOutlet。在A类中,我有一个将其委托设置为B类的scrollview。
A类标题
@property(nonatomic, strong) ClassB *B;
A类实施
self.B = [[ClassB alloc] init];
[_scrollview setDelegate:self.B];
现在,scrollview调用scrollViewDidScroll在ClassB中正确滚动
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
但我无法从scrollViewDidScroll访问在ClassB中声明的任何IBOutlet。他们只返回零。
答案 0 :(得分:0)
这是因为您已在标头中将该属性声明为A类。在ClassA.h中更改以下行
@property(nonatomic, strong) ClassA *A;
这一行。
@property(nonatomic, strong) ClassB *A;
答案 1 :(得分:0)
您正在A类中创建您的委托对象(B)。这将有效,但可能您不会获得出口。由于委托和连接出口的对象将是两个不同的classB实例。所以你需要做的是在转到classB之前从classA(作为self)设置委托。
答案 2 :(得分:0)
要访问Outlets,您需要从NIB加载您的ClassB。
请参阅: - (NSArray *)loadNibNamed:(NSString *)name owner:(id)owner options:(NSDictionary *)options