oc Foundation框架 Number类 Array类
来源:互联网 发布:土方平衡计算软件 编辑:程序博客网 时间:2024/06/07 12:51
Cocoa是苹果公司为Mac OS X所创建的原生面向对象的API,是Mac OS X上五大API之一(其它四个是Carbon、POSIX、X11和Java)。
API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节
Cocoa Touch由苹果公司提供的软件开发api,用于开发 iPhone\iPod\iPad上的软件。也是苹果公司针对iPhone应用程序快速开发提供的一个类库。此库以一系列框架库的形式存在,支持开发人员使用用户界面元素构建图像化的事件驱动的应用程序
Cocoa是苹果公司为Mac OS X所创建的原生面向对象的API,是Mac OS X上五大API之一(其它四个是Carbon、POSIX、X11和Java)。
一个框架是由类、方法、函数和文档组合在一起构成的集合,使得程序的开发更容易
数字类、字符串类还有一些集合类(如数组、字典等),当然还有时间日期类,还可以实现与文件的交互
- AppKit框架中包含的类和方法等可以用于开发交互式的图形应用程序。我们可以利用框架中的相关类或方法对文本框、工具栏、菜单、表等进行操作。
在Mac OS X的开发中Cocoa提供了两个基本框架:Foundation和AppKit,在移动设备的开发中CocoaTouch提供了两个基本的框架:Foundation和UIKit框架
- υFoundation框架中的类的主要有以下几种:
- λ数据存储类。像NSData/NSString/NSArray/NSDictionary.NSSet等
- λ文本和字符串类。像NSCharacterSet/NSString等
- λ时间日期类。像NSDate/NSTimeZone/NSCalendar等
- λ应用程序通知类。NSNotification/NSNotificationCenter等
- λ对象的创建和处理类。如NSAutoreleasePool
- λ对象的空间分配和持久化。NSPropertyListSerialization/NSCoder等
- λ操作系统服务类。NSFileManager/NSThread等
URL加载系统类。NSURL等
NSNumber类
/*NSNumber */
NSNumber *intNumber=[NSNumbernumberWithInt:100];//把一个整数存储到NSNumber对象中(类方法)
NSLog(@"%@",intNumber);
int myInt=[intNumber intValue];
NSLog(@"%d",myInt);//把存储到NSNumber中的数据取出来
NSNumber *myNumber=[[NSNumberalloc]initWithInt:200];//用实例化方法来存储数据(实例方法)
NSLog(@"%@",myNumber);
NSLog(@"%d",[intNumberisEqualToNumber:myNumber]);//判断两个数字类对象是否相等
NSLog(@"%ld",[intNumbercompare:myNumber]);//比较出两个对象的大小关系(大于:返回NSOrderedDescending,1(枚举值),等于:返回NSOrderedSame,0,小于:NSOrderedAscending,-1);
// NSNumber *num1=[NSNumber numberWithInt:10];
// [num1 initWithInt:20];//error!! 无法重新初始化之前创建好的对象
// num1=[NSNumber numberWithInt:30];//但是可以让num1指向另外一个对象
}
Array类
ObjC中没有模板,所以不能用模板作为容器了,但是可以使用对象(像数组,字典等)作为容器,并且ObjC的容器中只能盛放对象,不能盛放简单类型数据
//用类方法实例方法 创建一个带初始值的数组
NSArray *arr1=[NSArrayarrayWithObjects:@"Hello",@"world",@"beijing",@"tiananmen",nil];
NSArray *arr01=[[NSArrayalloc]initWithObjects:@"hi",@"i",@"am",@"a",@"boy",[NSNullnull],nil];
//使用containsObject方法很常见,例如:判断某一个元素是否在数组中,但使用时
//需要注意:containsObject内部在比较对象是否相等时采用的是地址比较,即两个不同地址而内容完全相同的对象采取containsObj较结果是No
NSLog(@"iscontain:%hhd",[arr01containsObject:@"i"]);
//数组个数
NSLog(@"%ld",[arr1count]);
NSLog(@"%@",arr01);
//访问指定下标的元素
NSLog(@"%@",[arr1objectAtIndex:0]);
//返回新的array对象
NSArray *arr02= [arr1 arrayByAddingObject:@"gugong"];
NSArray *arr03=[arr01 arrayByAddingObjectsFromArray:arr1];
NSLog(@"%@,%@,%@",arr02,arr03,arr01);
// 查找摸个对象的索引
if([arr1 indexOfObject:@"Hello"]==NSNotFound) {
NSLog(@"没找到");
}
else
NSLog(@"%ld",[arr1indexOfObject:@"Hello"]);
//根据指定的字符串连接数组元素
NSString *str1=[arr01 componentsJoinedByString:@"oo"];
NSLog(@"%@",str1);
//创建一个指定容量的数组
NSMutableArray *arr2=[NSMutableArrayarrayWithCapacity:12];
//添加元素
[arr2addObject:@"tuesday"];
//查找元素
[arr2insertObject:@"monday"atIndex:0];
//移除指定下标元素
[arr2 removeObjectAtIndex:0];
//添加数组
[arr2addObjectsFromArray:arr01];
NSLog(@"addObjectFromArray:%@",arr2);
//指定索引替换对象
[arr2 replaceObjectAtIndex:0withObject:@"=="];
NSLog(@"repleaseObjectAtIndex:%@",arr2);
/*遍历数组方法1:*/
for (int i=0; i<[arr1count]; ++i) {
NSLog(@"%@",[arr1objectAtIndex:i]);
}
/*遍历数组方法2:*/
for(id obj in arr1)
{
NSLog(@"%@",obj);
}
//删除全部对象
[arr2removeAllObjects];
NSLog(@"removeAllObject:%@",arr2);
/*数组排序*/
[arr1sortedArrayUsingSelector:@selector(compare:)];
NSLog(@"排序=%@",arr1);
- oc Foundation框架 Number类 Array类
- 黑马程序员---OC Foundation框架--集合类
- OC学习:Foundation框架中的常用类
- OC - Foundation集合类
- OC语法<4.1>:Foundation框架中的NSString类
- OC语法<4.2>:Foundation框架中的集合类-NSArray
- OC基础——Foundation框架之集合型类
- OC语法<4.3> Foundation框架中的集合类-NSDictionary
- OC语法<4.4> Foundation框架中的集合类-NSSet
- [黑马程序员][OC]Foundation框架中的集合类
- 黑马程序员------Foundation框架------OC集合类的操作
- OC高级foundation框架类以及数据的简单存储
- oc学习之Foundation框架--字典类
- oc学习之Foundation框架--NSSet类
- oc学习之Foundation框架--NSDate类
- OC知识--Foundation框架及相关类详尽总结
- oc Foundation框架
- OC:Foundation框架
- 2015暑假集训总结
- mysql grant
- Android操作HTTP实现与服务器通信
- Hdu Oj 2112 HDU Today
- HDU3405-World Islands
- oc Foundation框架 Number类 Array类
- MongoDB的一些命令
- extjs Combox 调用数据
- Sublime Text 2:使用、安装插件(FTP)
- gc实例与gc报告的阅读
- PIL+pytesser引用路径
- 好炫的Lambda表达式,Java党用起来!(最简易Lambda教程)
- Python 之 元组小结
- hdoj 2544 最短路 【SPFA】