给定(id <MyDelegate>)委托,你能说出什么样的类委托吗?

cki*_*sen 1 objective-c

将委托传递给MyClass时,

- (MyClass *)initWithDelegate:(id <MyDelegate>)delegate {..}
Run Code Online (Sandbox Code Playgroud)

以某种方式可以告诉我的代表是什么类的课程?被定义为id,委托似乎不响应任何方法调用,如class,description,respondsToSelector等.

我希望能够跟踪谁在调用MyClass!

提前致谢!

/基督教

sch*_*sch 5

你可以打电话[delegate class];来获得该课程delegate.

如果delegate没有回应,那意味着它nil.

编辑

既然您提到了编译器错误,那么您的委托就不符合协议NSObject.因此编译器不会将其识别为NSObject.您应该将协议声明修改MyDelegate为以下内容:

@protocol MyDelegate <NSObject>

// ...

@end
Run Code Online (Sandbox Code Playgroud)