1
  1. 我创建了一个名为 CustomToolbar 的新类
  2. 然后我创建了一个空笔尖,为其添加了一个工具栏,并将工具栏类设置为“CustomToolbar”。

在代码中初始化 CustomToolbar 以便我的类使用 nib 文件的正确方法是什么?

我已经编写了代码来做到这一点,但我知道这不是正确的方法并且它有泄漏。

@interface CustomToolbar : UIToolbar {
}
@property (nonatomic, retain) IBOutlet UIBarButtonItem *button;
@end

@implementation CustomToolbar
- (id)initWithDelegate
{
     NSArray *objects = [[NSBundle mainBundle]
      loadNibNamed:@"CustomToolbar" 
      owner:nil 
      options:nil];
    if (self = (CustomToolbar*) [objects objectAtIndex:0])
    {
        //do some work here
    }
    return self;
}
@end
4

1 回答 1

1

NIB 将调用initWithCoder:您的自定义类,如下所示:

- (id)initWithCoder:(NSDecoder*)aDecoder {
    self = [super initWithCoder:aDecoder];
    if( self ) {
        // Do something
    }
    return self;
}

如果你真的想像现在这样加载它,你需要retainloadNibNamed.

于 2010-10-14T22:54:00.433 回答