IOS考试.docVIP

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
IOS考试

IOS考试 一,import include @class 区别 Objective-C:#import C,C++:#include #import由gcc编译器支持 在 Objective-C 中,#import 被当成 #include 指令的改良版本来使用。除此之外,#import 确定一个文件只能被导入一次,这使你在递归包含中不会出现问题。 使用哪一个还是由你来决定。一般来说,在导入 Objective-C 头文件的时候使用 #import,包含 C 头文件时使用 #include。比如: #import foundation /Foundation.h #include asl .h #include mach /mach.h #import比起#include的好处就是不会引起交叉编译 二、@class是用来做类引用的 @class就是告诉编译器有这么一个类,至于类的定义是啥不知道 @class一般用于头文件中需要声明该类的某个实例变量的时候用到,在m文件中还是需要使用#import 举个例子说明: 在ClassA.h中 #import ClassB.h 相当于#include整个.h头文件。如果有很多.m文件#import ClassA.h,那么编译的时候这些文件也会#import ClassB.h增加了没必要的#import,浪费编译时间。在大型软件中,减少.h文件中的include是非常重要的。 如果 只是@class ClassB 那就没有include ClassB.h。仅需要在需要用到ClassB的ClassA.m文件中 #import ClassB.h 那么什么时候可以用@class呢? 如果ClassA.h中仅需要声明一个ClassB的指针,那么就可以在ClassA.h中声明 @ClassB ... ClassB *pointer; 二、self作用 IOS 关键字self,super,copy, retain, assign , readonly , readwrite, nonatomic、@synthesize、@property、@dynamic 1. #synthesize关键字:根据@property设置,自动生成成员变量相应的存取方法,从而可以使用点操作符来方便的存取该成员变量。 2. @implementation关键字,表明类的实现@end结束 3. self关键字:类似于java中的this,是隐藏参数,指向当前调用方法的类。 super关键字:调用父类的方法。 self=[superinit]这里不是判断self与[superinit]是否相等,而是判断是否可以成功初始化。[superinit]:父类初始化成功的话,通过=给self,这样self成为一个非空对象,整个来说即非false(非NO)。 #import告诉预处理器,将头文件的内容包含到本文件中.OC中的import能保证头文件只会被包含一次.@interface关键字:声明一个Student类。@end结束声明. 冒号:表示继承后面跟的是父类. NSObject是大多数对象都会用到的内存管理,和初始化框架,以及反射和类型操作.相当于Object。 NS是NextSTEP缩写,表示这个函数来自Cocoa工具包。 1. 声明全局变量,与C中一样。 2. property关键字:设置成员变量的属性(有读/写,赋值assign,retain,copy,以及对多线程的支持nonatomic)。 3. 声明一个方法,格式是–(返回值)方法关键字1:(参数类型)参数名方法关键字2:(参数类型)参数名……(在读方法的时候就可以先找方法关键字来确定参数)。 -减号是实例方法,+是类方法 4.另一个初始化方法中调用已有的初始化方法这种概念被称为DesignatedInitializer. 5.NSLog是OC中的标准输出,附加输出当时日期,时间,应用程序名称.使用NSLog()输出任意对象的值时,都会使用%@格式说明。在使用这个说明符时,对象通过一个名为description的方法提供自己的NSLog()格式。 使 用@property配合@synthesize可以让编译器自动实现getter/setter方法,使用的时候也很方便,可以直接使用“对象.属性” 的方法调用;如果我们想要”对象.方法“的方式来调用一个方法并获取到方法的返回值,那就需要使用@property配合@dynamic了 使用@dynamic关键字是告诉编译器由我们自己来实现访问方法。如果使用的是@synthesize,那么这个工作编译器就会帮你实现了。 readonly此标记说明属性是只读的,默认的标记是读写,如果你指定了只读,在@impleme

文档评论(0)

cj80011 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档