Objective-C nil Outlets

时间:2011-03-15 09:27:54

标签: objective-c null iboutlet

我有一个用于用户界面的类,有两个构造函数:

- (id)initWithBanner:(NSMutableArray *)banner {  
    if ( ( self = [super initWithNibName:@"UIBanner" bundle:nil] ) ) {
      // ... code...
    }
    return self;
}

- (id)initWithPreview:(NSMutableArray *)previews {
    if ( ( self = [super initWithNibName:@"UIBanner" bundle:nil] ) ) {
      // ... code...
    }
    return self;
}

在这两个构造函数中,我使用两个出口,一个UIPageControl和一个UIScrollView,与新的XCode 4链接。现在,如果我使用第一个构造函数initWithBanner,一切正常(放一个NSLog(@“%@”) ,bannerScroll)给出相对插座描述)但是当我使用initWithPreview时,我的Outlets是零。 这有什么问题?

1 个答案:

答案 0 :(得分:3)

在实际加载nib之前,不会设置您的出口,这是在读取UIViewController的view属性时发生的。您实现了-viewDidLoad方法来处理nib加载的时间。另请注意,在UIViewContoller实例的生命周期内,可以多次卸载和加载视图和nib。