- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
详解Objctive-C中变量和数据类型
Objective-C中变量和数据类型是本文要介绍的内容,很详细的从类的初始化、作用域回顾(变量的一些内容)、数据类型的汇总等来讲述内容,本文认为本文非常适合初学者来参考,我们先来看详细内容详解。 一、类的初始化 编写初始化时,遵循两个策略:如果你的类包含多个初始化方法,其中一个就应该是指定的(desigrated)初始化方法,并且其他所有初始化方法都应该使用这个方法。通常,它是最复杂的初始化方法(一般是参数最多的初始化方法)。通过创建指定的初始化方法,可以把大部分初始化代码集中到单个方法中。然后,任何人要想从该类派生子类,就可以重载这个指定的初始化方法,以便保证正确地初始化新实例。 二、作用域回顾 1、控制实例变量作用域的指令 在接口部分声明实例变量时,可以指一下三个指令放在实例变量之前,以便更精确地控制类作用域 (1)protected——这个指令后面的实例变量可被该类及任何子类中定义的方法直接访问。默认。 (2)private——这个指令后面的实例变量可被定义在该类的方法直接访问,但是不能被子类中定义的方法直接访问。 (3)public——这个指令后面的实例变量可被该类中定义的方法直接访问,也可被其他类或模块中定义的方法直接访问。 (4)package——对于64位图像,可以在实现该类的图像的任何地方访问这个实例变量。 如: @interface?Printer:NSObject ? ??????????{ ? ???????????????@private ? ????????????????????int?pageCount; ? ????????????????????int?tonerlevel;???????//任何从Printer派生子类的人都无法访问它 ? ???????????????@protected ? ????????????????????//other?instance?variables?????//可被子类访问,可被Printer类访问 ? ??????????} ? ??????????…… ? ??????????@end? @public指令使得其他方法或函数可以通过使用指针运算符(-)访问实例变量。 2、外部变量 如果在程序的开始处(所以方法、类定义和函数定义之外)编写的变量语句,那么这个模块中的任何位置都可以引用这个变量的值。——全局变量:惯例,用小写g作为全局变量首字母;外部变量。如:int fMoveNumber; 外部变量是可被其他任何方法或函数访问和更改其值的变量,在需要访问外部变量模块中,变量声明和普通方式一样,只需加上extern。要告知系统访问其他文件中定义的全局变量。如:extern int gMoveNumber; 3、静态变量 除了特定类中的方法,再没有其他方法需要访问这个特定变量。可以在包含这个特定类的实现的文件中将该变量定义为static。如:static int gGlobalVar = 0; 三、存储类说明符 1、auto 声明一个自动局部变量。函数或方法内部变量的默认声明方式。如:auto int index;——int index; 静态变量有默认初始值0,自动变量没有。 2、const 对程序中值不变的变量设置const特性,不可更改其值,必须初始化。如:const double pi = 3.141592654; 3、volatile 指定类型变量的值会改变(与const相反)。为了防止编译器优化掉看似多余的变量赋值,同时避免重复地检查值没有变化的变量。如: volatile?char?*outPort;???? ? *outPort?=?0;??? ? *outPort?=?N;? 防止第一个赋值语句从程序中删除。 四、枚举数据类型(enum) 将一系列值指派给一个变量。 enum? 枚举数据类型的名称? 标识符序列(包含在一对花括号内) 如: enum?flag{false,true}; ? enum?flag?endOfData,matchFound;? 可指派true、false给这两个变量 如果希望一个枚举标识符对应一个特定的整数值,那么可以在定义数据类型时给该标识符指定整数值。在列表中一次出现的枚举标识符被指派了以特定整数值开始的序列数。 如: enum?direction{up,down,left=10,right}; ? up=0,down=1,left=10,right=11? 枚举标识符可以共享相同的值。如: enum?boolean{no=0,false=0,yes=1,true=1};? 可以明确地给枚举类型的变量指派一个整数值,使用类型转换运算符。如: lastMonth=(enum?month)(monthValu
文档评论(0)