AppDelegate.m引入了两次interface是什么意思?

m0_37837425 2018-08-15 08:47:41
大家好,我看个开源框架,有AppDelegate.h的头文件,头文件定义了一些方法,但在实现文件AppDelegate.m中又定义了一次空的AppDelegate的接口,这是什么意思呢?实现文件AppDelegate.m代码如下:

#import "AppDelegate.h"

@interface AppDelegate ()

@end

@implementation AppDelegate

这里是实现的一些方法省略
...全文
528 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
wuzesong 2018-08-28
  • 打赏
  • 举报
回复
引用 8 楼 zhanglei5415 的回复:
@interface AppDelegate()

@end

这种括号中不带名称的定义在Objective-C被称为“匿名类别”。
匿名类别的定义只能在本类的实现文件中,且匿名类别只能被定义一次。

认同
自己开发中这么写,是为了不暴露出去自己的一些属性和方法,毕竟写在.h文件中的属性和方法,只要稍稍会点逆向的都能够获取到.h中包含的内容
ReyZhang 2018-08-27
  • 打赏
  • 举报
回复
@interface AppDelegate()

@end

这种括号中不带名称的定义在Objective-C被称为“匿名类别”。
匿名类别的定义只能在本类的实现文件中,且匿名类别只能被定义一次。
p5433251 2018-08-23
  • 打赏
  • 举报
回复
不想暴露出去的property和method, delegate放在这
佛系码工 2018-08-22
  • 打赏
  • 举报
回复
.m 中@interface classname() @end 声明的成员和函数 与.h中的声明不冲突 用于存放私有成员和函数
hendlon 2018-08-21
  • 打赏
  • 举报
回复
变量声明,协议继承等 可以直接写在这个 声明中,开发方便不需要到头文件跳来跳去。这是设计模式,你也可以直接删掉。
aosept123 2018-08-16
  • 打赏
  • 举报
回复
有意义,方便你随时填些东西,而且基本上都会用到,保留这个算是不错的习惯。
m0_37837425 2018-08-16
  • 打赏
  • 举报
回复
那这个空分类是没什么意义的吧
qq_15863563 2018-08-15
  • 打赏
  • 举报
回复
这是分类的写法,你可以仔细研读一下OC的分类概念。
aosept123 2018-08-15
  • 打赏
  • 举报
回复
.m里的category,可见范围在同一个.m的其它类都是可见可用的

29,027

社区成员

发帖
与我相关
我的任务
社区描述
主要讨论与iOS相关的软件和技术
社区管理员
  • iOS
  • 大熊猫侯佩
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧