在进行课程扩展时避免警告

时间:2012-07-19 14:27:08

标签: objective-c cocoa categories

我想做以下事情:

@interface UINavigationController ()

-(void)removeFromNavigationStack:(Class)aClass;

@end

和.m文件

@implementation UINavigationController

-(void)removeFromNavigationStack:(Class)aClass {

}

但在.m文件中有很多警告,比如'initWithRootViewController的方法定义:'找不到'

我该如何避免这种情况?我试过包括但仍然有警告

由于

2 个答案:

答案 0 :(得分:4)

由于你正在处理一个UIKit类UINavigationController,你可能想要使用一个类别。扩展需要在类的实现的主@implementation块中定义,并且您无权访问UINavigationController

来自docs

  

类扩展类似于匿名类别,除了它们声明的方法必须在相应类的主@implementation块中实现。使用Clang / LLVM 2.0编译器,您还可以在类扩展中声明属性和实例变量。

答案 1 :(得分:1)

在.m文件中添加类扩展名。