我想做以下事情:
@interface UINavigationController ()
-(void)removeFromNavigationStack:(Class)aClass;
@end
和.m文件
@implementation UINavigationController
-(void)removeFromNavigationStack:(Class)aClass {
}
但在.m文件中有很多警告,比如'initWithRootViewController的方法定义:'找不到'
我该如何避免这种情况?我试过包括但仍然有警告
由于
答案 0 :(得分:4)
由于你正在处理一个UIKit类UINavigationController
,你可能想要使用一个类别。扩展需要在类的实现的主@implementation
块中定义,并且您无权访问UINavigationController
来自docs:
类扩展类似于匿名类别,除了它们声明的方法必须在相应类的主@implementation块中实现。使用Clang / LLVM 2.0编译器,您还可以在类扩展中声明属性和实例变量。
答案 1 :(得分:1)
在.m文件中添加类扩展名。