大部分有一点其他平台开发基础的初学者看到XCode,第一感想是磨拳擦掌,看到storyBoard之后,第一感想是跃跃欲试,那么要想开始IPhone的开发,首先我们就要从Object-C开始。 什么是Object-C,在维基百科里面我们会查到:Objective-C,通常写作ObjC和较少用的Objective C或Obj-C,是在C的基础上,加入面向对象特性扩充而成的编程语言。目前,Objective-C主要应用于Mac OS X和iOS这两个NeXTSTEP的派生系统,而在NeXTSTEP和OpenStep中它更是基本语言。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 = @“我是OC的String”; 对于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]; } 这里只是简单介绍几种基本的数据类型,在使用中学习,在学习中使用,学以致用,从而用以致学,希望遇到更多的问题,学习更多的知识。 |
|