5

我正在尝试使用该objc_getProtocol()函数来获取对表示NSApplicationDelegate协议的结构的引用:

Protocol *protocol = objc_getProtocol("NSApplicationDelegate");

但是,由于某种原因,这总是返回NULL

其他协议,如NSObjectNSCodingNSTableViewDelegateNSTableViewDataSource工作正常。

有什么特别之处NSApplicationDelegate,还是我做错了什么?

4

1 回答 1

2

在 Apple 文档中找到了答案:

http://developer.apple.com/library/ios/#DOCUMENTATION/Cocoa/Conceptual/ObjectiveC/Chapters/ocProtocols.html#//apple_ref/doc/uid/TP30001163-CH15

编译器为它遇到的每个协议声明创建一个协议对象,但前提是协议也是:

  • 被一个班级收养,
  • 或在源代码中的某处引用(使用@protocol())
于 2012-05-29T20:03:33.207 回答