黑马程序员__foundation框架中的结构体

------- IOS培训android培训、期待与您交流! --------

foundation框架中常见的结构有四种

   NSrange

   NSpoint\CGpoint

   NSSize\CGSize

   NSRect\CGRect

如果想要使用foundation框架中的所有结构体,要在文件的开始#import<Foundation/Foundation.h>。


NSRange的结构体形式如下

typedef struct _NSRange {
      NSUInteger location;
      NSUInteger length;
} NSRange;



NSRange的定义形式有以下几种

  NSRange r1 = {2,4};
    NSRange r2 ={.location = 2, .length = 4};
    NSRange r3 = NSMakeRange(2, 5);
对于NSRange有个常用的功能就是查找,字符在字符串的位置。
   NSString * str = @"i love you";
    NSRange range = [str rangeOfString:@"love"];
    NSString * str2 = NSStringFromRange(range);
   NSLog(@"%@",str2);
对于打印一个range结构体,可以通过NSStringFromRange的方法来转换成一个字符串来打印

如果在字符串查找不到索要查找的字符串,那么返回的location的结果是NSNotfound,转换成int则为-1,对于length则结果为0;

但是我们经常使用都是以CG打头的结构体,因为这种结构体可以跨平台。这里以CGPoint作例子,CGrect和CGSize都与CGPoint类似。

struct CGPoint
{
GLFloat x;
GLFloat y;
};

CGPoint的几种定义方式如下

CGpoint point = {12,0 };
CGpoint point1 = NSMakePoint{12,0};
CGpoint point2=CGPointMake(12,0);


对于(0,0)位置我们可以使用CGPointZero来表示,效果等同于CGPointMake(0,0);

下面是结构体一些常用的函数

CGRectEqualToRect(<CGRect rect1>, <CGRect rect2>)
CGRectContainsPoint(<CGRect rect>, <CGPoint point>)
CGRectContainsRect(<CGRect rect1>, <CGRect rect2>)












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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值