[英]Objective-C Delegate Type
在Objective-C中创建委托时,假定委托为: id <DelegateName> delegate
, delegate
的类型应该是什么? 那么在LLDB中运行po delegete
或po self.delegate
,预期结果是什么?
如果期望它是DelegateName
,那么您将不会手动更改它吗?
编辑:
@protocol NavigationBarDelegate @可选-(void)titleViewClicked:(BOOL)titleClicked; @结束
LLDB中的po
输出:
(lldb) po self.delegate
(objc_object *) $1 = 0x073d0840 <UINavigationController: 0x73d0840>
结果,委托被发送到UINavigationController
而不是预期的类。
类型是id
因此它可以是任何 Objective-C对象。 <DelegateName>
表示该对象将符合DelegateName
协议,但这不会影响其类型。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.