预科班代码-及相关oc基础_第1页
预科班代码-及相关oc基础_第2页
预科班代码-及相关oc基础_第3页
预科班代码-及相关oc基础_第4页
预科班代码-及相关oc基础_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、北风网项目培训讲师:华仔IOS5课程之Objective-c语法OC基础OC基本元素;OC中的类与对象;扩展与继承;协议与代理;消息的传递;静态对象与方法;异常的处理;多线程编程;内存管理等1.掌握具备进行Objective-C面向对象编程方法及基本设计模式2.具备进行iPhone App开发的必要能力和面向对象编程方法及基本设计模式开发的必要能力目标IOS第一个应用Hello WorldMain方法NSLog :打印输出;n 换行;int类型表示法:%i;注释:单行;多行消息:autorelease ,drainNSAutoreleasePool可以同时有多个, 总是存在一个栈顶poolNS

2、AutoreleasePool引用计数自动处理器栈底栈顶后进先出类,变量,方法1.类的声明2.变量的声明和调用方式3.方法的声明和调用方式;实例方法和类方法4.对象以及对象的生命周期:创建,使用,销毁例子:Person数据类型基本数据类型IntFloatDoubleChar复合数据类型混合运算:int i= 3+28 int j =37%6数据类型转换内存管理Ios内存管理使用“保留计数”机制,当一个对象创建时,保留计数为1,每增加一个所有者则对象的保留计数增加1。同时,当对象被release,保留计数减1,失去一个所有者。当保留计数为0,对象被销毁。引用计数的主要接口:alloc retai

3、nCount=1retain retainCount +1copy,mutablecopy retainCount +1release retainCont -1autorelease 例子:Person语句1.循环语句:for;While语句/dowhile2.Scanf用法 scanf(”%i”,&userNum);3.Ifelse4.Switch5.?操作符;int转bool继承1.概念:子类拥有父类的资源,同时也拥有自己的资源。2.用法3. Objective-C 不支持多继承案例:Mom& son动态绑定和id类型在面向对象编程中,有三种类型的动态机制:动态类型识别,直到运行时才决定

4、一个对象的类别。动态绑定,直到运行才决定调用哪个方法。动态加载,运行时加入新的模块。Id类型:可以存储任何类的对象,可以存储不同类型的对象属性1.属性的getter和setter方法;基本数据类型和复合数据类型案例:rectangle类别1.概念:以模块的方式向现有的类添加方法2.用法:interface NSString(NumberConvenience)-(NSNumber*) lengthAsNumber;end3.注意事项:A.尽管分类可以访问原始类的实例变量,但是它不能添加自身的任何变量。如果需要添加变量,可以考虑创建子类。B.分类可以重载该类中的另一个方法,但是通常认为这种做法不

5、可取。因为,重载之后,再不能访问原来的方法。C.可以拥有很多分类。D.和一般接口部分不同的是,不必实现分类中的所有方法案例:photo协议1.概念:多个类共享的一个方法列表,协议中列出的方法没有相应的实现.2.用法:protocol MyProtocol- (void)myProtocolMethod;end3.注意事项:A.如果一个类遵守某项协议,那么它的子类也遵守该协议。B.协议不引用任何类,它是无类的(classless)。任何类都可以遵守某项协议。C.通过在类型名称之后的尖括号中添加协议名称,可以借助编译器的帮助来检查变量的一致性D.如果这个变量保存的对象遵守多项协议,则可以列出多项协

6、议E.定义一项协议时,可以扩展现有协议的定义F.分类也可以采用一项协议G.OC 2.0开始提供了另外两个新特性。 optional和required 可以理解为虚函数和纯虚函数案例:项目开发Id类型1.概念:2.用法:id 对象名id 对象名3.注意事项:A. 案例:项目开发异常处理&多线程机制1.概念:2.用法:trycatch()异常处理&多线程机制线程安全在Objective-C 中可以很清晰地使用 POSIX APIs 2 实现多线程。Cocoa 提供了自己的类管理多线程。有一点是需要注意的:多个线程同时访问同一个内存区域时,可能会导致不可预料的结果。POSIX APIs 和 Cocoa 都提供了锁和互斥对象。Objective-C 提供了一个关键字 synchronized,与 Java 的同名关键字是一样的。synchronized由 synchronized() 包围的块会自动加锁,保证一次只有一个线程使用。在处理并发时,这并不是最好的解决方案,但却是对大多数关键块的最简单、最轻量、最方便的解决方案。 synchonized

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论