【发布时间】:2014-05-16 09:48:20
【问题描述】:
我正在尝试对 UIViewController 进行分类以覆盖 viewWillAppear:。但收到此警告。
Category 正在实现一个方法,该方法也可以在 primary 中实现 类
@implementation UIViewController (ViewWillAppearCategory)
-(void)viewWillAppear:(BOOL)animated
{
//.........
}
@end
我想在查看期间做一些事情出现在所有屏幕上,所以我不想在所有屏幕上触摸。这就是为什么,选择类别。
我可以在子类中实现一些方法,我可以在所有 VC(所有屏幕)中调用该方法。但我不想要这个。它会自动调用在视图中会出现调用。这是这样做的任何想法还是在上面犯了任何错误?
注意:此代码将仅出现在开发阶段用于某些测试目的。所以我会在使用应用商店时删除此代码。所以在移除过程中应该是更容易的任务,即我不会触摸所有屏幕。我不会在提交到应用商店期间保留此代码。
【问题讨论】:
-
你不应该使用类别来覆盖方法
-
除此之外还有什么想法吗?
-
当然是子类化
-
没有。它也修改所有屏幕。我正在实现一个仅在开发阶段可用的视图。当进行分发时,我应该从所有 VC 中删除此屏幕。我不能子类化。
-
按照我下面的建议,然后在需要发布的时候,您只需修复一个父类以消除任何地方的行为。
标签: ios objective-c oop objective-c-category