Iphone 如何防止在Objective-C中使用自定义方法以外的其他init方法

Iphone 如何防止在Objective-C中使用自定义方法以外的其他init方法,iphone,objective-c,ios,init,initwithstyle,Iphone,Objective C,Ios,Init,Initwithstyle,背景-在我的iPhone应用程序中,我有一个自定义的UITableViewController-我打算通过将现有的idinitWithStyle:UITableViewStylestyle方法扩展为一个扩展的自定义方法来传递一些必需的配置 问题-确保此自定义控制器类的用户只能调用我的自定义init方法,而不能调用initWithStyle或任何其他init方法的最佳方法是什么?我通常会记录这一点,并将[self-DoesNotRecogniteSelector:_cmd]调用放入不打算使用的in

背景-在我的iPhone应用程序中,我有一个自定义的UITableViewController-我打算通过将现有的idinitWithStyle:UITableViewStylestyle方法扩展为一个扩展的自定义方法来传递一些必需的配置


问题-确保此自定义控制器类的用户只能调用我的自定义init方法,而不能调用initWithStyle或任何其他init方法的最佳方法是什么?

我通常会记录这一点,并将[self-DoesNotRecogniteSelector:_cmd]调用放入不打算使用的init方法中


同时,将方法标记为不推荐的see可以防止运行时出现意外情况,并在编译时向您发出警告。

我通常会记录这一点,并将[self-doesNotRecognizeSelector:_-cmd]调用放入不打算使用的init方法中


同时,将方法标记为不推荐的see可防止运行时出现意外情况,并在编译时向您发出警告。

您可以覆盖不希望使用的init方法,并在那里引发异常

您还可以重写它们,并使用指定的初始值设定项对它们进行初始化


另外,您应该在文档中指定它。

您可以覆盖不希望使用的init方法,并在那里引发异常

您还可以重写它们,并使用指定的初始值设定项对它们进行初始化

此外,您应该在文档中指定它