关于OC学习中几个基础的类

关于OC学习中几个基础的类

【标题** 重点内容**

在OC的学习中,有两个重要的概念————类和对象。

类的抽象性与对象的实体性共同构筑了我们的OC这门课程。

NSValue(父类NSObject

(1)在C中一些基本变量在OC里面还能够持续使用吗?

答案是否定的,OC跟C不同点就是OC是面向对象语言,很多时候我们是在处理对象。在C中的一些float int char struct point等等,是纯粹的一个变量或者数值。只有对这些变量进行处理,使得他们成为对象后,才能够调用方法来实现我们的需要。

NSValue就提供了一种容器来盛装这些变量(或者常量),经过NSValue盛装(封装)后,这些C中的量就成为了可以使用的对象。

 

NSValue在iOS中应用最多的是对rect对象、point对象的定义、封装和处理。

For example:当我们需要处理一个矩形结构体时候,直接可以将它定义成一个矩形对象(放入集合中也可以),然后对对象发送增删改的消息,进而处理。

 

    代码展示:

    float a=3.45;//浮点型变量

    NSLog(@”%f”,a);//这样输出没有问题,%f与a类型相同。

    当我需要把a作为dictionary的key放进去的时候,我们就需要将a转化为对象放进去。

NSNumber *floatNum=[NSnumber numberWithFloat:a];

     //这样就直接把a用对象floatNumber来表示了。

    NSLog(@”%@”,a);//这样输出时候改成%@,不然肯定会报错。

(2NSValue下面含有子类NSNumber

NSNumber主要用于实现基本变量与对象之间的转换

基本变量Transfomer对象:


可以看出,对于任何的int char bool float long都可以封装成对象

例如:将float a=15.234转换成字符串对象

分析:要将浮点型变量转换成字符串对象,首先得将浮点型变量转换成浮点型对象,然后将浮点型对象转换为字符串对象

(1)浮点型变量转换成浮点型对象,应用初始化方法,初始化一个浮点型对象

NSNumber *num=[[NSNumberalloc]intWithFloat:a];

(2)将浮点型对象转换成字符串,应用字符串转换方法,转换一个对象,返回一个字符串对象。

NSString *str=[num stringValue];

(3)输出字符串数组

NSLog(@”%@”,str);

 

对象Transfomer基本变量


可以看出,对于任何的封装过的int char bool float long对象,都可以解封装成各种原有变量。

(3)number的比较

这里还有一点值得注意,当我们将数组转成对象表示后,如何来比较大小呢?

NSNumber 继承自NSObject;可使用compare、isEqual等消息

 

 

当能够将这些变量转换成对象后,我们就可以使用OC中这些高级点的类了。有了对象还怕啥!
*******************************************************************************************************************

例如将int数值存放入NSArray中

NSNumber *number1=[NSNumber number]//将int 转换为对象

NSMutableArray *arr=[[NSMutableArray alloc]array]//初始化一个可变数组

[arr addObject:number1];//将对象添加进数组arr中

for(NSNumber *num in arr)//遍历数组arr中所有变量

NSLog(@”%i”,[num intValue])//将对象再次转化为数值输出

如何用快速枚举遍历字典元素?
for(id key in dic)
{
NSLog(@"%c", [[dic objectForKey:key] charValue]);
}
*******************************************************************************************************************

 

 

 

NSString********************************************************

初始化字符串

取出指定字符或者子串

NSMutableString

增删改字符串值

 

NSArray*********************************************************

初始化数组

对数组中元素进行查看:


从数组里面导出新数组以及数组元素排序



数组元素

取出数组指定下标元素

 

NSMutableArray

数组中的元素



数组中的元素



改数组中的元素

 

 

NSDictionary***************************************************

字典就是关键字及其定义的集合,也称散列表或关联数组。

是在给定关键字(常为NSString类型的对象)下存储一个数值(任何类型的对象)。

使用键查询的优化存储方式,可立即找出要查询的数据,不需遍历整个数组进行查询。

对于频繁查询和大型数据集来说,使用字典比较数组要快很多。

创建字典:

+ (id)dictionaryWithObjectsAndKeys:(id)firstObject, ...(可变参) 

需提供该字典所需要的全部对象和关键字,因为只有可读属性,只能在初始化的时候进行赋值。

 

获取字典中的值:

- (id)objectForKey:(id)aKey;

 

字典中Key-value对个数[dicntionary1 count];

根据key取出value [dictionary1 valueForKey:key];

根据value取出key [dictionary1 allKeysForObjest:value];

 

NSMutableDictionary*********************************************

向类发送dictionary消息

+ (id)dictionaryWithCapacity:(NSUInteger)numItems;

仅仅是一个建议,而不是对大小的限制

添加元素:

- (void)setObject:(id)anObjectforKey:(id)aKey;

若已经存在关键字,则用新值替换原有的值。

删除元素:

- (void)removeObjectForKey:(id)aKey;

增删改字典中key

增删改字典中value


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值