【发布时间】:2013-01-31 01:43:28
【问题描述】:
在 Objective C 中,自定义 init 方法必须调用超类的指定初始化程序。考虑以下用于 NSView 子类的自定义 init 方法:
- (void)initWithFrame:(CGRect)aFrame andName:(NSString *)aName {
if(self = [super initWithFrame:aFrame]){
//set up object
}
}
然而,MacRuby 只提供super 关键字,它只是尝试在超类中调用相同的方法。然而,由于这是一个自定义初始化程序,超类没有这样的方法。
解决这个问题的标准方法是什么?我确实看到了这个问题:MacRuby custom initializers 但我不能说我非常了解答案,它似乎也不是一些被广泛接受的解决方案。由于 MacRuby 现在比写这篇文章时早了几年,我希望现在有一个更清晰、标准的解决方案。
【问题讨论】:
标签: objective-c initialization macruby rubymotion