黑马程序员——Objective-c——Foundation坐标相关和字符串

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------



Foundation类层次的根是NSObject类,它(和NSObjectNSCopying协议一起)定义了基本的对象属性和行为。乔布斯在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 ); // 要掌握的写法

 

NSRangeFoundation中的定义如下:

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 } // p3CGPoint, p4CGSize

 

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//

//http://weibo.com/a.png


 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.count5



------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值