------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
Foundation类层次的根是NSObject类,它(和NSObject及NSCopying协议一起)定义了基本的对象属性和行为。乔布斯在NextStep公司创建的框架,多半以NS开头
1、NSRange NSPoint/CGPoint NSSize/CGSize NSRect/CGRect
一般用CG,跨平台
NSRange r1 = { 2 , 4 }; // 一般不这样写
NSRange r2 = { .location=2 , .length=4 }; // 一般不这样写
NSRange r3 = NSMakeRange( 2 , 4 ); // 要掌握的写法
NSRange在Foundation中的定义如下:
typedef struct _NSRange{
NSUInteger location; // 起始下标
NSUInteger length; // 长度
} NSRange;
NSString *str = @”i love oc”;
NSRange range = [str rangeOfString: @”love”]; // 如果找不到该字符串,length = 0,location = NSNotFound(-1)
CGPoint p1 = CGPointMake( 20 , 20 ); // 最常用
NSPoint p2 = NSMakePoint( 10 , 10 );
//Size 和Rect类比以上方法
CGRect r1 = CGRectMake( 0 ,0 ,100, 50);
CGRect r2 = {{ 0 , 0 } , { 100 , 50}};
CGRect r3 = { p3 , p4 } // p3为CGPoint, p4为CGSize
NSString *str=NSStringFromPoint(p1);
NSLog(@”%@”,str); // 先将点转为NSString,再打印,方便查看
常用函数:在Foundation中声明,在CoreGrapgics中实现的
CGPointEqualToPoint( CGPoint point1 , CGPoint point2) ;
CGRectEqualToRect( CGRect rect1, CGRect rect2);
CGSizeEqualToSize( CGSize size1 , CGSize size 2);
CGRectContainsPoint( CGRect rect , CGPoint point);
2、NSString/NSMutableString
NSString *s1 = @"jack";
NSString *s2 = [[NSString alloc] initWithString:@"jack"];
NSString *s3 = [[NSString alloc] initWithFormat:@"age is %d",10];
NSString *s4 = [[NSString alloc] initWithUTF8String:"jack"]; // c字符串-->oc字符串
const char *cs = [s4 UTF8String]; // oc字符串-->c字符串
从一个资源读字符串
NSString *s5=[[NSString alloc] initWithContentsOfFile:@"/Users/apple/Desktop/1.txt" encoding:NSUTF8StringEncoding error:nil];
//URL:资源路径
//协议头://路径
//file://
NSURL *url = [[NSURL alloc]initWithString:@"file///Users/apple/Desktop/1.txt"];
NSURL *url1 = [NSURL fileURLWithPath:@"/Users/apple/Desktop/1.txt"];
NSString *s6 = [[NSString alloc] initWithContentsOfURL: url encoding: NSUTF8StringEncoding error:nil];
一般有一个类方法跟对象方法匹配
[NSURL URLWithString:(NSString *)];
[NSString stringWithFormat:””];
[NSString stringWithContentsOfFile:(NSString *) encoding:(NSStringEncoding) error:(NSError *__autoreleasing*)];
向资源写字符串
[@"jack\njcak" writeToFile:@"/Users/apple/Desktop/1.txt" atomically:YES encoding:NSUTF8StringEncoding error:nil];
NSString *str=@"12112";
NSURL *url=[NSURL fileURLWithPath:@"/Users/apple/Desktop/3.txt"];
[str writeToURL:url atomically:YES encoding:NSUTF8StringEncoding error:nil]; // atomically:YES 如果字符串没写完,该文件就不会被创建
NSMutableString
NSMutableString *mutableS1=[NSMutableString stringWithFormat:@"my age is %d",10];
[mutableS1 appendString:@" 11 12"]; // 拼接内容到mutableS1的后面
NSRange range = [mutableS1 rangeOfString:@"is"]; // 获取is的范围
[mutableS1 deleteCharactersInRange:range]; // 根据范围删除is
// NSString 通过产生新对象拼接字符串
NSString *s7 = [NSString stringWithFormat:@"age is 10"];
NSString *s8 = [s7 stringByAppendingString:@" 11 12"];
NSArray *array = [s8 componentsSeparatedByString:@" "]; // 按空格将S8拆分成oc数组,array.count为5
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------