私も次のことを試みています。
Protocol *protocol = objc_getProtocol("NSApplicationDelegate");
ここに見られるように:
objc_getProtocol()は `NSApplicationDelegate"に対してNULLを返しますか?
受け入れられた答えは、私が次のいずれかを実行していないため、NULLを返していることを示しています。
- クラスに採用され、
- または、ソースコードのどこかで参照されています(を使用して
@protocol()
)
@protocol
実行時にこれを実行するので、問題外ですよね?これで、プロトコルをクラスに追加することになります。BOOL class_addProtocol(Class cls, Protocol *protocol)
しかし、プロトコルがまだ作成されていないときに、どうすればプロトコルをクラスに追加できますか?
言い換えれば、私はしなければならないようです:
Protocol *protocol = objc_getProtocol("NSApplicationDelegate");
BOOL class_addProtocol(class, protocol);
しかし、最初の行はNULLを返します...