iphone - Objective-C 委托(delegate)类型

标签 iphone objective-c ios xcode delegates

在 Objective-C 中创建委托(delegate)时,假定委托(delegate):id <DelegateName> delegate , 什么是 delegate的类型应该是?所以运行po delegetepo self.delegate在 LLDB 中,预期结果是什么?

如果其预期为 DelegateName ,而不是您将如何手动更改它?

编辑:

@protocol NavigationBarDelegate @选修的 - (void)titleViewClicked:(BOOL)titleClicked; @结束

po LLDB 中的输出:

(lldb) po self.delegate
(objc_object *) $1 = 0x073d0840 <UINavigationController: 0x73d0840>

因此,委托(delegate)被发送到 UINavigationController而不是预期的类。

最佳答案

类型是id所以它可以是任何 Objective-C 对象。 <DelegateName>表示法意味着该对象将符合 DelegateName协议(protocol),但这并不影响它的类型。

关于iphone - Objective-C 委托(delegate)类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11776607/

相关文章:

ios - iPhone 未连接。连接 iPhone 后 Xcode 将继续

iphone - 向 MP4 视频添加效果?

ios - 将触摸转移到 subview

ios - 使用 Parse 保存 CLCircularRegion

ios - 使用 UIPageControl 显示 3 个不同的 View

iphone - tableview在xml解析完成之前加载,数据未加载

iphone - 获取大版本的消息和邮件图标 ios

objective-c - Objective-C 的 Web API 介绍?

ios - UISplitViewController + Split View : hide details at startup

iphone - 取 CGFloat 的绝对值