news 2026/6/15 18:26:41

6、深入探索Objective - C与iPhone开发:协议、异常处理及应用部署调试

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
6、深入探索Objective - C与iPhone开发:协议、异常处理及应用部署调试

深入探索Objective - C与iPhone开发:协议、异常处理及应用部署调试

1. Objective - C协议的独特之处

在Objective - C编程中,协议的运用有其独特的逻辑。从Java程序员的视角来看,对于带有可选方法声明的协议可能会存在疑问,因为Java里若依据协议编写代码,会期望协议中的方法必然存在。然而在Objective - C中,即便方法不存在,也不会抛出异常。在Objective - C里,发送消息时若无人能处理该消息,不会有任何异常情况发生。

在使用协议时,它与类有相似之处,但存在细微差别。传递类时,实际上传递的是指针而非类本身。例如在sayHello方法中:

- (void) sayHello: (NSString*) name;

这里传递的不是名为name的字符串,而是字符串的指针。

协议并非类,它只是一个包含声明(而非定义)的头文件。传递时,要么直接传递协议本身(id会被自动理解),要么传递id

以定义温度计协议为例,假如创建一个Doctor类,虽然知道它要告知患者体温,但不清楚具体使用的温度计类型,这时就可以使用协议:

- (void) sayTemp : (<ThermProtocol>) objTherm;

此声明

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/15 12:02:46

9、iOS开发:UIView、UIViewController与UITabBar详解

iOS开发:UIView、UIViewController与UITabBar详解 1. UIView与UIViewController基础 在iOS开发中,UIView和UIViewController是非常重要的概念。UIViewController负责处理其关联UIView的重要生命周期事件。下面是UIViewController的一些视图生命周期实例方法: | 实例方法 …

作者头像 李华
网站建设 2026/6/7 3:18:24

全面掌握Blender glTF 2.0导入导出:从新手到专家的完整指南

全面掌握Blender glTF 2.0导入导出&#xff1a;从新手到专家的完整指南 【免费下载链接】glTF-Blender-IO Blender glTF 2.0 importer and exporter 项目地址: https://gitcode.com/gh_mirrors/gl/glTF-Blender-IO glTF&#xff08;GL Transmission Format&#xff09;作…

作者头像 李华
网站建设 2026/6/15 12:04:27

ResourceOverride浏览器扩展终极指南:快速掌控网站资源

ResourceOverride浏览器扩展终极指南&#xff1a;快速掌控网站资源 【免费下载链接】ResourceOverride An extension to help you gain full control of any website by redirecting traffic, replacing, editing, or inserting new content. 项目地址: https://gitcode.com/…

作者头像 李华
网站建设 2026/6/15 12:02:33

29、ISO 9000 设计与开发的关键要点解析

ISO 9000 设计与开发的关键要点解析 在产品或服务的设计与开发过程中,遵循一系列科学且严谨的标准和流程至关重要。下面将详细探讨设计与开发过程中的各个关键环节。 1. 设计计划的变更管理 设计计划并非一成不变,当设计发生变化时,计划也需要相应调整,以准确反映正在进…

作者头像 李华
网站建设 2026/6/15 12:04:55

Windows触控板终极解决方案:3步解锁Apple设备原生级流畅体验

Windows触控板终极解决方案&#xff1a;3步解锁Apple设备原生级流畅体验 【免费下载链接】mac-precision-touchpad Windows Precision Touchpad Driver Implementation for Apple MacBook / Magic Trackpad 项目地址: https://gitcode.com/gh_mirrors/ma/mac-precision-touch…

作者头像 李华
网站建设 2026/6/13 21:41:55

31、ISO 9000 质量管理:设计验证与变更控制

ISO 9000 质量管理:设计验证与变更控制 在产品开发过程中,确保设计符合预期使用要求并有效控制设计变更至关重要。下面将详细探讨设计验证以及设计和开发变更控制的相关内容。 1. 设计验证概述 设计验证旨在确认产品是否能够满足特定应用或预期使用的要求。ISO 9000 将验证…

作者头像 李华