如何从类别中的重载函数调用原始函数?

kid*_*lox 4 iphone cocoa overloading objective-c categories

在Objective-C中,我有一个类的类别:

@interface UILabel(CustomInit)

- (id)initWithCoder:(NSCoder *)coder;

@end
Run Code Online (Sandbox Code Playgroud)

我正在做的是编写一个自定义初始化函数来做一些额外的东西,而我想做的是,在这个自定义初始化函数中,调用UILabel的基础initWithCoder.这可能吗?怎么会这样?

编辑

谢谢.好的,所以我的计划没有实际意义.不能只是重载initWithCoder.有没有办法实现相同的功能(所有UILabel获得这个添加的初始化步骤)而不会重载initWithCoder?或者也许是UILabel的initWithCoder的示例代码,我只能用添加的代码重写?

编辑

好的,所以要清楚我正在尝试的事情:

我可以在iPhone应用程序中嵌入自定义字体吗?

有一个答案,有人使用私人GraphicServices函数GSFontAddFromFile手动在iphone上添加自定义字体.我尝试了这个代码,它非常适合手动设置标签的字体.但是,如果您尝试在Interface Builder中设置字体,它无法正确加载,它只会下拉到系统字体.我想要做的是手动加载字体并使用IB中选择的字体自动设置标签的字体.这样我就不需要为我放下的每个标签打造一个插座.我也没有必要编写一个荒谬的标签子类(也在该线程中提出并进行了大量的自定义绘图),我发现它非常怪诞.现在我仍然可以为我的所有标签创建一个子类,但是在其他UI对象中就是嵌入标签的情况,即UIButtons.我希望嵌入式标签也不会被破坏.

任何建议都会很棒.谢谢.

Fer*_*cio 13

Mac OS X参考库:

当类别覆盖继承的方法时,类别中的方法可以像往常一样通过消息调用继承的实现到超级.但是,如果某个类别覆盖了类别类中已存在的方法,则无法调用原始实现.