学习笔记:Foundation(1)---NSRange结构体、NSPoint结构体

来源:互联网 发布:涉密检查软件 编辑:程序博客网 时间:2024/05/21 05:19


想要使用Foundation框架中的数据类型,需要包含<Foundation/Foundation.h>框架

一、NSRange结构体

1、结构体内容

  //NSUInteger:unsigned long

2、变量表示方式:

例:NSString *str = @"i love oc";

表示1:NSRange  r1 = {2, 4};//不用

表示2:   NSRange  r2 = {.location = 2,  .length = 4};//不用

        表示3:   NSRange  r3 = NSMakeRange(2, 4);//掌握

3、查找某个字符串在str中的范围(如果找不到,length=0,location=NSNotFound)//NSNotFound整数为-1

NSRange  range = [str  rangeOfString:@"ve o"];

     NSLog(@"loc = %ld,length = %ld", range.location, range.length);


二、NSPoint(CGPoint)

1、结构体内容

//CGFloat等于double

2、表示方式

表示1:CGPoint p1 = NSMakePoint(10,10);

表示2:NSPoint p2 = CGPointMake(10,10);//最常用

3、NSSize方法同上。

表示:NSSize s1 = CGSizeMake(100, 50);

   NSSize s2 = NSMakeSize(100, 50);

   CGSize s3 = NSMakeSize(100, 50);

4、CGRect/NSRect(CGPoint CGSize)

表示1: CGRect r1 = CGRectMake(0, 0, 100, 50);

表示2: CGRect r2 = {{0,0},{100,50}};

表示3: CGRect r3 = {p1,s2};

表示4: CGRect r4 = {CGRectZero,CGSizeMake(100, 50)};//CGRectZero 等于 CGPointMake(0, 0)

5、将结构体转为字符串 //CGSizeZero、CGRectZero同上

NSString *str = NSStringFromPoint(p1);

NSString *str = NSStringFromSize(s1);

6、比较两个点的位置是否相同

  BOOL b = CGPointEqualToPoint(CGPointMake(10, 10),CGPointMake(10, 20));

其他常用函数如下:使用这些函数的前提是添加CoreGraphics.h框架






0 0