- 博客(11)
- 收藏
- 关注
翻译 swift基础语法--简单值 控制流
1、全局作用域中的代码会被自动当做程序的入口点,所以不需要main函数。2、let声明常量,var声明变量。 常量或变量的类型必须和你赋给他们的值一样。然而你不用明确地声明类型,声明的同时赋值的话,编译器会自动推断类型。 如果初始值没有提供足够的信息(或者没有初始值),就需要在变量后面声明类型,用冒号分割。 let explicitDouble:Double = 60 值永远不会被隐式转换为其他类
2015-08-19 14:01:34
540
原创 内存管理
引用计数和对象所有权 cocoa的内存管理机制--引用计数 cocoa中提供了一个机制来实现上面这个逻辑模型,它被称为“引用计数”(reference counting)或“保留计数”(retain counting)。引用计数的数值表示对象有几个“人”在使用它。 每一个对象都拥有一个引用计数(retain count) 当对象被创建时,引用计数的值是1 当发送retain消息时
2014-03-27 12:45:19
422
原创 协议
协议(Protocol) 协议的声明看起来比较类似一个类的接口,不同的是协议没有父类也不能定义实例变量。协议是一种特殊的程序设计结构,用于声明专门被别的类实现的方法。它是一组方法,自己不去实现,专门给别的类去实现。 协议在以下场合非常有用: 1、需要由别的类实现的方法 2、声明未知类的接口 3、两个类之间的通信 协议的基本特点 1、协议可以被任何类实现的方法(弥补OC的单继承) 2
2014-03-27 10:37:17
458
原创 类的扩展
类目(Category): 封装是面向对象的一个特征,但是有时比如我封装了一个类,不想再动它了,可是随着程序功能的增加,需要在那个类中增加一个小小的方法,这时我们就不必在那个类中做修改或再定义一个子类,只需要在用到那个方法时随手添加一个该类的类别(category)。 1)在类目定义的方法,会成为原始类的一部分,与其他方法的调用没有区别 2)通过给父类定义类目方法,其子类也会继承这些方法。如
2014-03-26 20:11:13
562
原创 Foundation框架NSSet
在Foundation框架中,提供了NSSet类,它是一组单值对象的集合,且NSSet实例中元素是无序,同一个对象只能保存一个,且它也分为可变和不可变的集合对象 不可变集合NSSet NSSet的初始化 类似于数组的构建,直接创建一个集合 NSSet *set1 = [[NSSet alloc]initWithObjects:@"one",@"two",nil]; 通过数
2014-03-25 21:14:18
448
原创 Foundation框架NSDictionary
集合——字典 字典是由键--值对组成的数据组合。正如我们在字典里查找单词的定义一样。 通过key(键),查找对应value(值),key通常是字符串对象,也可以是其他任意类型对象。在一个字典对象中,key的值必须是唯一的。字典对象的键和值不可以为空(nil),如果需要在一个字典对象中表示一个空值(value),可以使用NSNull对象 不可变字典NSDictionary (集合中只
2014-03-25 19:58:26
495
原创 Foundation框架NSArray
NSArray。NSMutableArray。 数组中不可以存放基本数据类型,只能存放类的实例(对象)。如果需要将基本数据类型,结构体放入数组中,需要通过NSNumberNSValue进行数据的“封装” 不可变数组 NSArray 数组的初始化 NSArray *firstArray = [NSArray arrayWithObject:@"one"];// 类方法 ,不需
2014-03-20 21:25:52
521
原创 Foundation框架 NSString
OC中的字符串必须以@开头,引号当中则是字符串的内容。如@“abc”. NSString对象,一旦被创建,就不可以再修改。NSMutableString(NSString的一个子类)是一个可以更改的字符串对象 。 创建一个字符串常量 NSString *string = @"这是一个字符串常量"; 创建一个空的字符串 NSString *string = [[NSSt
2014-03-20 16:54:06
416
原创 Foundation框架NSNumber
框架是由许多类,方法,函数,以及文档按照一定的规则组合起来的集合,以便于程序员更方便迅速的开发程序。 cocoa程序编写主要用到2个框架Foundation和ApplicationKit(UIKit)。Foundation框架主要定义了一些基础类,供程序员来使用。ApplicationKit(UIKit)主要是一些用户界面设计的类,用于Mac开发使用此库。 Foundation框架中的所有类都
2014-03-20 13:45:42
512
原创 oc的异常处理
@try{ [car noSuchMethod]; //出错的代码 } @catch(NSException *exception){ NSLog(@"catch exception %@ %@",[exception name],[exception reson]); //捕获异常,异常的原因 } @finally{ } //减少程序崩溃 [car noS
2014-03-20 11:17:15
456
原创 继承
ClassA *b=[[ClassA alloc]init]; [b initVar]; OC中继承的语法规则: @interface 子类:父类 @interface ClassA :NSObject { int x; } -(void)initVar; end; @implementation ClassA -(void)initVar { }
2014-03-20 11:04:46
309
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅