在代码中初始化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
答案 0 :(得分:1)
NIB会在您的自定义类上调用initWithCoder:
,如下所示:
- (id)initWithCoder:(NSDecoder*)aDecoder {
self = [super initWithCoder:aDecoder];
if( self ) {
// Do something
}
return self;
}
如果您真的想以现在的方式加载它,则需要retain
从loadNibNamed
返回的对象。