《编写高质量代码:改善Objective-C程序的61个建议》——建议5:处理隐藏的返回类型,优先选择实例类型而非id
本节书摘来自华章出版社《编写高质量代码:改善Objective-C程序的61个建议》一 书中的第1章,第1.5节,作者:刘一道,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
建议5:处理隐藏的返回类型,优先选择实例类型而非id
实例类型(Instancetype)是Objective-C语言中新添加的一个返回类型,实例类型作为方法返回的实例的类型,是苹果在2013年的年度大会上宣布的。这个新添加的实例类型不仅可用来作为Objective-C方法的返回类型,且能用这个实例类型来作为向编译器的提示,提示方法返回的类型将是方法所属的类的实例。
类的实例,作为方法返回类型,宜采用关键字instancetype作为方法的返回类型,如alloc 、init和类工厂方法等。使用instancetype作为类(或者类的子类)的实例返回类型,可

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
《编写高质量代码:改善Objective-C程序的61个建议》——建议4:优先使用对象字面量语法而非等效方法
本节书摘来自华章出版社《编写高质量代码:改善Objective-C程序的61个建议》一 书中的第1章,第1.4节,作者:刘一道,更多章节内容可以访问云栖社区“华章计算机”公众号查看。 建议4:优先使用对象字面量语法而非等效方法 很多刚从其他编程语言转到Objective-C的程序员,往往一看到长长的函数名就会感到崩溃,这种语法让消息的传递像一个英语句子,虽有不足但确实大大增强了可读性。比如想初始化一个浮点数,需要这么写: NSNumber value = [NSNumber numberWithFloat:123.45f]; 从这句中能够明确地知道代码的含义,但是,是否连简单的赋值语句也要这么处理呢?在2012年的苹果年度大会上,苹果介绍了大量Objective-C的新特性之一—对象字面量(Object Literals),能够帮助iOS
- 下一篇
《编写高质量代码:改善Objective-C程序的61个建议》——建议6:尽量使用模块方式与多类建立复合关系
本节书摘来自华章出版社《编写高质量代码:改善Objective-C程序的61个建议》一 书中的第1章,第1.6节,作者:刘一道,更多章节内容可以访问云栖社区“华章计算机”公众号查看。 建议6:尽量使用模块方式与多类建立复合关系 在2013年的苹果年度大会上,苹果在Objective-C的性能改进上大的变化之一就是加入了模块(Modules)。 文件编译问题的存在性—编译时间过长在了解模块(Modules)之前,需要先了解一下Objective-C的#impor机制。通过使用#import,用来引用其他的头文件。 熟悉C或者C++的人可能会知道,在C和C++里是没有#import的,只有#include(虽然GCC现在为C和C++做了特殊处理,使#imoprt可以被编译),用来包含头文件。#include做的事情其实就是简单的复制、粘贴,将
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS8编译安装MySQL8.0.19
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS8编译安装MySQL8.0.19
- Red5直播服务器,属于Java语言的直播服务器
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS7设置SWAP分区,小内存服务器的救世主
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题