分享

Object-C基本数据类型小结

 Sunny_Gql 2012-08-28

    大部分有一点其他平台开发基础的初学者看到XCode,第一感想是磨拳擦掌,看到storyBoard之后,第一感想是跃跃欲试,那么要想开始IPhone的开发,首先我们就要从Object-C开始。

什么是Object-C,在维基百科里面我们会查到:Objective-C,通常写作ObjC和较少用的Objective CObj-C,是在C的基础上,加入面向对象特性扩充而成的编程语言。目前,Objective-C主要应用于Mac OS XiOS这两个NeXTSTEP的派生系统,而在NeXTSTEPOpenStep中它更是基本语言。Objective-C可以在任何gcc支持的平台上进行编译,因为gcc原生支持Objective-C通过IOS的成功实现我们可以看到Object-C的强大。下面是我从从过项目中队Object-C的一些认识;

<1>:Object-C基本数据类型:

Objective-C中的基本类型和C语言中的基本类型一样.主要有:int,long,float,double,char,void, bool.

下面是一些以  NS  开头的一些数据类型:

那么这些NS开头是什么回事呢,NS****

老乔当年离开苹果,自立门户的时候做了个公司叫做NextStep,里面这一整套开发包很是让一些科学家们喜欢,而现在Mac OS用的就是NextStep这一套函数库。

这些开发NextStep的人们比较喜欢把函数库里面所有的类都用NextStep的缩写打头命名,也就是NS****了。比较常见的比如:

NSLog

NSString

NSInteger

NSURL

NSImage

NSNumber 

NSNumber Object-C的数字对象,需要考虑内存释放问题;

下面说说NSString这个数据类型,对于Java开发者来说一看就知道他是Java里面的String字符串,在Java里面我们定义一个String 会这样:

String  myStr = “我是Java里面的String”;

但是在Object-C 里面则不同:如下

NSString *myStr = @“我是OCString”;

对于NSString一些操作也是需要注意:

NSString *szTmp = @"A string"; //直接赋值

szTmp = nil;

int n = 5;

NSString *szMyString = [NSString stringWithFormat:@"The number is %d",n];

//The number is 5

[szMyString stringByAppendingFormat:@"%d",22];

//附加字符串返回值:The number is 522

//但是szMyString本身并没有改变,其值依然:The number is 5 ,需要改变自身的时候需要重新的赋值

//字符串转为数组

NSArray *arrayWord = [szMyString componentsSeparatedByString:@" "];

//有空格的拆分为单词保存,当然也可以进行其他关键字的拆分,全在自定义;

当然还有其他的好多操作,当你深入的学习Object-C的时候,就会发现Object-C还是一门比较有意思的语言;

<2>下面我们说的是打印处理:

Java里面我们的打印会这样:

System.out.println(我是java的打印);

Object-C 则如此:

打印一个NSString

NSString str = @我是OBject-C数据;

     NSLog(@“打印数据了% @”,str);

NSLog的格式如下所示:  

%@ 对象

%d, %i 整数

%u 无符整形

%f 浮点/双字

%x, %X 二进制整数

%o 八进制整数

%zu size_t%p 指针

%e 浮点/双字 (科学计算)

%g 浮点/双字

%s C 字符串

%.*s Pascal字符串

%c 字符

%C unicha

r%lld 64位长整数

long long%llu 无符64位长整数

%Lf 64位双字

<3>下面说说数组,很常用的数组

 //初始化不可变数组,切记初始化后不可以改变的数组

 NSArray  mArray =[[NSArray alloc] initWithObjects:

@"雨松MOMO",

@"15810463139",

@"xuanyusong@gmail.com",

self,nil];

//可以改变的数组

NSMutableArray nsma = mArray ;//这里我们直接的赋值;

下面注意的是对数组的遍历,如同java里面一样有一种简单的遍历数组的方法:

遍历方法一:

For(int i = 0; i  < nsma.count; i++ ){

NSString *temp = [nsma objectAtIndex:i];//这里便是拿出来没一个数据

}

遍历方法二:

//objective-c 2.0 引入的快速枚举法 不仅速度快 并且安全性高,推荐使用这种方式来遍历

for (NSString * str in nsma) {

NSLog(@"固定数组 %@", str);

}

NSMutableArray是一个可以改变数据的数组,提供了两种方法:

addobject方法用于向数组中添加元素

//添加数组

- (void)addArray: (NSObject *) str

{

    [mListArray addObject:str];

}

removeObject方法用于删除元素

//删除数组

-(void) deleteArray:(NSString *)str

{

    [mListArray removeObject:str];

    

}

replaceObjectAtIndex 方法可以修改数组中的某一个元素

//修改数组中的元素 

-(void)changeArray:(int)ID:(NSObject *) str

{

    [mListArray replaceObjectAtIndex:ID withObject:str];

}

insertObject方法用于向数组中插入一个元素

//向数组中插入一个元素 

-(void)insertArray:(int)ID:(NSObject *) str

{

    [mListArray insertObject:str atIndex:ID];

}

这里只是简单介绍几种基本的数据类型,在使用中学习,在学习中使用,学以致用,从而用以致学,希望遇到更多的问题,学习更多的知识。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多