您的位置:首页 > 数据库 > Oracle

oracle进阶学习

2011-03-03 17:07 351 查看
Foundation框架正如其名,Foundation框架是其他所有ios框架的基础
Foundation框架包含了很多开发中常用的数据类型:
1.结构体
2.枚举
3.类
要想使用Foundation中的数据类型,包含他的主文件即可
#import<Foundation/Foundation.h>
Foundation中的结构体

NSRange

NSPoint\CGPoint

NSSize\NSSize

NSRect\NSRect

NSRange中的成员
Location位置
length 长度
例如:
Love的范围
@“I love oc”
NSRange r1 = {2,4};//不用
NSRange r2 = {.location = 2,.length = 4};
NSRange r3 = NSMakeRange(2,4);
NSString *str = @”I love oc”;
//查找某个字符串在str中的范围
//如果找不到,length=0,location=NSNotFound==-1
NSRange range = [str rangeOfString@”love”];
NSLog(@”loc=%ld,len=%ld”,range.location,range.length);
NSPoint\CGPoint
CGPointp1=NSMakePoint(10,10);
NSPointp2 = CGPointMake(10,10);//这个是开发中最常用的
NSSize\NSSize
表示UI元素的尺寸的
NSSize s1 = CGSizeMake(100,50);
NSSize s2 = NSMakeSize(100,50);
NSRect\NSRect
包含了CGPoint、CGSize
NSRect r1 = CGRectMake(0,10,100,20);
当需要打印的时间要把结构体转换成字符串再进行打印
NSString *mmm = NSStringFromPoint()
NSString *mmm = NSStringFromSize()
NSString *mmm = NSStringFromRect()
NSRect r1 = CGRectMake{{0,0},{100,20}};
NSRect r1 = CGRectMake{p1,s2};
表示原点:CGPointZero == CGPointMake(0,0);
//比较两个点是否相同
BOOL b = CGPointEqualToPoint(CGPointMake(10,10),CGPointMake(10,10));
CG需要导入框架CoreGraphics
Foundation中的类
NSString有个子类NSMutableString
NSArray有个子类NSMutableArray
NSSet有个子类NSMutableSet
NSDictionary有个子类NSMutableDictionary
NSDate
NDObject
1. NSString
NSString:不可变字符串NSMutableString:可变字符A. 字符串的创建
NSString *s1 = @”jack”;NSString *s2 = [[NSString alloc] initWithString:@”jack”];NSString *s3 = [[NSString alloc] initWithFormat:@”ageis %d”,10];//c字符串转化成OC字符串NSString *s4 = [[NSString alloc] initWithUTF8Sting:”jack”];
//OC字符串转换成c字符串Const char *C = [s4UTF8String];//NSUTF8StringEncoding用到中文就可以用这种编码NSString *s5 = [[NSString alloc]initWithCountsOfFile:@”/Users/apple/Desktop/1.txt”encoding:NSUTF8StringEncoding error:nil];
//URL资源
NSString *s6 = [[NSString alloc]initWithCountsOfURL:@”file:///Users/apple/Desktop/1.txt”encoding:NSUTF8StringEncoding error:nil];

B. NSMutableString可变字符串
补充词汇:append增加、拼接NSRange跟删除字符串的结合使用2. 集合类
NSArray有个子类NSMutableArrayNSSet有个子类NSMutableSetNSDictionary有个子类NSMutableDictionarya. OC中的数组:NAArray
在OC数组中不能存放基本数据类型,即只能存放OC对象不能存放非OC对象类型NSArry *array =[NSArry array];//这个array永远是空数组NSArray :是一个不可变数组NSMutableArray:是一个可变数组NSArray *array =[NSArray arrayWithObject:@“asfd”,@“rose”,nil]//nil是数组元素结束的标记@[]创建数组对象数组中的遍历:方式一、 For(int i=0;i<array.count;i++){ NSLog(@“%@”,array[i]);}方式二、 For(id obj in array){ NSLog(@”%@”,obj);}方式三、//没遍历到一个元素,就会调用一次block//并且当前袁术和索引位置当作参数传给Block[array enumrateObjectUsingBlock:^(id obj ,NSUInteger idx,BOOL*stop){ NSLog(@“------------%ld--%@”idx,obj); If(ind==0){ *stop= YES;}}];
递归思想
NSMutableArray:是一个可变数组NSMutableArray*array = [NSMutableArray array];//添加数组元素[arrary addObject:[Person alloc] init];[arrary addObject:@”jack”];//删除元素[array removeAllObject];[array removeObject:@”jack”];//下面代码中2是数组的下标号[array removeObjectAtIndex:2];在NSMutableArray中不能用@[]这个快速写数组,因为@[]数组是不可写数组b. NSSet是没有数据的
anyObject 随机返回元素NSMurableSet:addObjectremovec. NSDictionary有个子类NSMutableDictionary
里面存储的东西都是键值对@{key,value}但是快速创建自字典之后是不能更改的,即不可变的字典的遍历:方式一、NSDictiongary *dict = @{@”address”:@”北京”@”name”:@”jack”,@”qq”:@”565632362”};NSArray *keys = [dict allKeys];For(int i=0;i<dict.count;i++){ NSString *key =key[i];NSString *object = dict[key];}方式二、[dict enumerateKeyAndObjectsUsingBlock:^(id key,idobj,BOOL *stop){ NSLog(@”%@--%@”,key,obj); *stop =YES;//只遍历一次}];集合总结:1. NSArray\NSMutableArray
l 有序
l 快速创建(不可变的):@[]
l 快速访问元素:数组名[i]
2. NSSet\ NSMutableSet
l 无序
3. NSDictionary\NSMutableDictionary
l 无序
l 快速创建(不可变的):@{key1:value1,key2:value2}
l 快速访问:字典名[key]
d. NSNumber
@20 -------------将20包装成一个NSNumber对象e. NSValue
这是一个万能包装,任何东西都能包装成NSValue对象例如:Int main(){ //结构体--àOC对象 CGPointp = CGPointMake(10,10); NSValue*value = [NSValue nalueWithPoint:p];NSArray*array = @[ value];}4. NSDate

NSDate *date =[NSDate date]; //日期格式化NSDateFormatter *formatter =[[NSDateFormatter alloc] init];//y年M月d日//m分s秒H(24)时h(12)时Formatter.dateFormar = @”yyyy-MM-ddHH:mm:ss”;NSString *str = [formatterstringFromDate:date];

本文出自 “我成IT成长之路” 博客,请务必保留此出处http://jeason.blog.51cto.com/9704473/1595334
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: