我正在使用一个视图控制器,它具有长而不经常的视图设置方法。 为了清洁,此视图设置代码将移至一个类别,仅用于视图设置。
此类别引用原始视图控制器中的私有选择器,Xcode显示警告:Undeclared selector 'xyz:'
在我看来,我有这些选择,其中没有一个看起来很好:
我已经选择了最后一个选项,但我仍然有这样的感觉,就像我必须去便便一样。这里的最佳举措是什么?
答案 0 :(得分:1)
您可以在类别实现
中向私有方法添加声明所以在CustomViewController+ViewSetup.m
@interface CustomViewController (private)
// declare private methods and properties here which you know exist in CustomViewController.m
@end
总的来说,我认为你在做这个类别是不必要的。您可以清除原始文件中的代码,而不需要管理和维护类别文件。更不用说如果您更改任何这些私有方法签名并忘记在类别中更改它,编译器将不会警告您,当您尝试调用其中一种方法时,您将看到崩溃。