【发布时间】:2013-12-15 20:51:00
【问题描述】:
Xcode 基于模板生成了这个头文件:
// this file is XYZAppDelegate.h
#import <UIKit/UIKit.h>
@interface XYZAppDelegate : UIResponder <UIApplicationDelegate>
....
@end
为了让编译器弄清楚 UIApplicationDelegate 是什么,它是如何工作的?
(1) 整个 UIKit 框架 (UIKit.h) 已导入。
(2) UIApplication.h 是 UIKit.h 中指定的众多头文件之一。
(3) UIApplicationDelegate 协议然后在UIApplication.h 中指定。
为了我的理解,我可以写一个:
@interface XYZAppDelegate:UIResponder direct-reference-to-protocol>
也许,比如:
@interface XYZAppDelegate:UIResponder UIKit.UIApplication.UIApplicationDelegate>
【问题讨论】:
-
不,你不能按照你的要求去做。你为什么想要?它的方式有什么问题?
-
我正在尝试减少源文件中不必要的信息量。以及,只是弄清楚 obj-c 和 Xcode 是如何工作的。
-
源文件中有哪些不必要的信息?目前它只有必要的信息。
-
我不需要超过 100 个不需要的函数声明来引用 UIApplicationDelegate 协议中的函数声明吗?
-
但这一切都隐藏在头文件中。您的源文件只包含一些需要的
#import语句。没有必要担心您在 .m 文件中碰巧使用的一些声明是随随便便的。让编译器担心这一点。您无需添加或查看不需要的声明。
标签: objective-c