IOS语言Object-c语言随笔(一)

1.基本数据类型

C语言中有5种基本类型:char、int、float、double、void,Object-C中仍然可用,并且这些基本类型可以用修饰符unsigned、signed、short、long进行修饰。

整型的每一种都有无符号(unsigned)和有符号(signed)两种类型,在默认情况下声明的整型变量都是有符号的类型,如果需声明无符号类型的话就需要在类型前加上unsigned。无符号版本和有符号版本的区别就是无符号类型能保存2倍于有符号类型的数据,比如16位系统中一个int能存储的数据的范围为–32768 ~ 32767(16位2进制的最高位作为符号位‘1’为负‘0’为正),而unsigned能存储的数据范围则是0~65535(这个最高位不用做符号位,所以是2的16次方,一共65536)

short和long很明显表示的是字节的长度。short代表两字节,int、long代表4字节

2.Object-C中的BOOL

在其他语言中0定义为假,非0定义为真。而在Object-C中不同,1定义为YES,0定义为NO。0和1以外的数据既不是YES也不是NO。

3.Object-C的结构体

Cocoa的Foundation框架中定义了大量结构体,如NSRange、NSPoint、NSSize等

NSRange结构体如下,location表示范围从哪个数字开始,length表示范围的大小

typedef struct _NSRange{
        unsigned int location;
        unsigned int length;
    }NSRange;

初始化的方法

NSRange range;
range.length = 3;
range.location = 6;

表示二维坐标上的点

    typedef struct _NSPoint{
        float x;
        float y;
    }NSPoint;

表示图形大小

    typedef struct _NSSize{
        unsigned int location;
        unsigned int length;
    }NSSize;

表示矩形

    typedef struct _NSRect{
        unsigned int location;
        unsigned int length;
    }NSRect;

4.NS类

Object-C是面向对象的C语言,除了对C的基本类型全面支持外,当然也对这些类型进行了面向对象的封装和拓展,Cocoa把所有的类都加了NS前缀,来自于Cocoa前身NextSTEP的缩写,比如NSNumber、NSArray、NSDictionary.

下面介绍几个常用的NS类

(1)NSString和NSMutableString

出于性能考虑,我们不能改变NSString的值,我们可以用NSString的可变版本NSMutableString,后者与前者几乎一模一样但是可以对其存储的字符串进行改变操作

(2)NSNumber

NSNumber用于处理所有与数字相关的数据类型,从整型到浮点型的数据,也包括前面BOOL类型,他们都有相应的方法,不知道可以查一下。

(3)NSArray和NSMutableArray

NSArray和C语言中的数组是一样的,但是却有些他自己的特性,比如不用对下标越界进行判断,和 Java中的ArrayList类似,并且只能存储Object-C对象。不能存储空值nil因为nil作为数组的结束符。

创建方式如下:

NSArray *array = [NSArray arrayWithObjects:@"one",@"tow",@"three", nil];

NSLog([array objectAtIndex:2]);//输出第三个元素three

与NSString和NSMutableString的区别一样,NSMutableArray是可以修改的,比如说删除,有着与之对应的方法。

(4)NSDictionary和NSMutableDictionary

字典相当于Java中的散列表,或者是C语言当中的关联数组定义方法如下

NSDictionary *d = [NSDictionary dictionaryWithObjectsAndKeys:obj1,@"first object", obj2,@"second object",nil];

Mutable同样是可以修改的。

(5)NSDate和NSDataFormatter

NSDate这个当然是用来显示时间的,最常用的就是获取当前时间

NSLog(@"当前时间:%@",[NSDate date]);  输出结果:当前时间:2014-03-02 01:59:18 +0000

NSDataFormatter说的是把日期格式化输出学过java的都应该懂得



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值