- 博客(13)
- 资源 (6)
- 收藏
- 关注
原创 13.文件加载与保存
1.属性列表 在Cocoa中,有一类名为属性列表(property list)的对象,通常简写为plist。这些列表用来放置一些Cocoa能够处理(主要是存储到文件和从文件中加载)的对象。这些属性列表是NSArray、NSDictionary、NSString、NSDate和NSData,以及它们的可修改形态。 1.1NSDate 程序中经常要处理时间和日期。iPhoto知
2016-01-26 16:19:14 311
原创 12.代码块和并发性
1.代码块 代码块对象(通常简称为“代码块”)是对C语言中函数的扩展。除了函数中的代码,代码块还包含变量绑定。代码块有时也被称为闭包(closure)。 代码块包含两种类型的绑定:自动型与托管型。自动绑定使用的是栈中的内粗,而托管绑定是通过堆创建的。 因为代码块实际上是C语言实现的,所以它们在各种以C作为基础的语言内都是有效的,包括Objective-C、C++以及Object-
2016-01-25 21:13:44 346
原创 11.协议
1.正式协议 与非正式协议一样,正式协议是包含了方法和属性的有名称列表。但与非正式协议不同的是,正式协议要求显式的采用。采用(adopt)协议的办法是在类的@interface声明中列出协议名称。采用协议后,你的类就要遵守该协议。采用协议就意味着你承诺实现该协议的所有方法。否则,编译器会生成警告来提醒你。 1.1声明协议 如下,如果采用了NSCopying协议,对象将会
2016-01-25 19:51:38 294
原创 10.类别
1.创建类别 类别是一种为现有的类添加新方法的方式。通常会以“类别名+类别名称”的风格命名。 1.1类别的缺陷 类别有两个缺陷。第一是无法向类中添加新的实例变量。类别没有向空间容纳实例变量。第二个就是名称冲突,也就是类别中的方法与现有的方法重名。当发生名称冲突时,类别具有更高的优先级。你的类别方法将完全取代初始方法,导致方法无法不再可用。有些编程人员会在自己的类别
2016-01-25 17:23:28 281
原创 9.属性
1.@property @property预编译指令的作用是自动声明属性的setter和getter方法。2.@synthesize也是一种新的编译器功能,它表示“创建了该属性的访问代码”。当遇到@synthesize rainHandling;这行代码时,编译器将添加实现-setRainHandling:和-rainHandling方法的预编译代码。3.点表达式 [ti
2016-01-22 16:38:02 433
原创 8.对象初始化
1.分配对象 分配(allcoation)是一个新对象诞生的过程。向某个类发送alloc消息,就能为类分配一块足够大的内存,以存放该类的全部实例变量。同时alloc方法还顺便将
2016-01-20 21:42:35 259
原创 7. 内存管理
1.Cocoa采用了一种叫做引用计数(reference counting)的技术,有时也叫做保留计数。每个对象都有一个与之相关联的整数,被称作它的引用计数器或保留计数器。当某段代码需要访问一个对象时,该代码就将该对象的保留计数器值加1,表示“我要访问该对象”。当这段代码结束访问时,将对象的保留计数器减1,表示不再访问该对象。当保留计数器的值为0时,表示不再有代码访问该对象了,因此它将被销毁,其占
2016-01-20 14:39:26 263
原创 6.Foundation Kit介绍 部分二
1.可变性 使用类方法stringWithCapacity:来创建一个新的NSMutableString,声明如下: +(id) stringWithCapacity:(NSUInteger) capacity; 这个容量只是给NSMutableString一个建议,可以超过其大小。 例: NSMutableString *string = [NSMutable
2016-01-19 23:08:54 188
原创 5.Foundaton Kit介绍 部分一
1.一些有用的数据类型 1.1范围 第一个结构体是NSRange typedef struct _NSRange{usigned int location;usigned int length;} NSRange; 这个结构体用来表示相关事物的范围,通常是字符串里的字符范围或者数组里的元素范围。Location字段存放该范围的起始位置,而length字
2016-01-19 19:02:05 241
原创 4.复合与源文件组织
一、复合1.自定义NSLog() 记住,NSLog( )可以使用%@格式说明符来输出对象。NSLog()处理%@说明符时,会询问参数列表中相应的对象以得到这个对象的描述。从技术上讲,也就是NSLog()给这个对象发送了description消息,然后对象的description方法生成一个NSString并将其返回。 -(NSString *)description{re
2016-01-18 20:56:23 311
原创 3.继承
1.Objective-C不支持多继承。可以通过类别或者协议达到多继承的效果。 有关术语: 超类(superclass):是集成的类。 父类(parent class):是超类的另一种表达方式。 子类(subclass):是执行继承的类。 孩子类(child class):是子类的另一种表达方式。2.因为继承在子类和超类之间建立了一种“ is a”(是一个)的关系
2016-01-18 19:56:20 175
原创 2.面向对象编程的基础知识
1.id是一种泛型,可以用来引用任何类型的对象。一个指向结构体的指针。 2.在Objective-C中,通知对象执行某种操作称为发送消息(有些人也称之为“调用方法”)。代码[shape draw]表示向shape对象发送了draw消息。[shape draw]可以理解成“向shape发送draw消息”。 3.类是一种能够实例化成对象的结构体。 有关术语: 类(cla
2016-01-18 19:46:32 286
原创 1.解构Hello Objective-C程序
1.框架:一种把头文件、库、图片、声音等内容聚集在一个独立单元中的集合体。苹果公司将Cocoa、Carbon、Quick Time和OpenGL等技术作为框架来提供。Cocoa的组成部分有Foundation和Application Kit(也称为AppKit)框架。 2.NSString:@是本体NSLog(@"Hello,objective-C!");字符串前面的@符号是Obj
2016-01-18 16:23:08 218
DesignPatternsbyTutorialsv2.0 DataStructureAndAlgorithminSwift AAD.&.RE.v2.0
2019-07-02
objective基础教程
2016-01-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人