Objective-C基础-Foudation结构体


一、NSRange

NSRange的定义
typedef struct _NSRange
{
   NSUInteger location;
   NSUInteger length;
} NSRange;

NSrange的用法

用法1:查找每个字符串在str中的范围

表达1:

// NSRange r1 = {2,4};    //不用
    // NSRange r2 = {.location = 2,.length = 4};  //不用
    
    // NSRange r3 = NSMakeRange(2, 4); //掌握
    
    //查找每个字符串在str中的范围
    //如果找不到 length = 0 ,location = NSNotFound==-1
    NSString *str = @"I love OC";
    
    NSRange range = [str rangeOfString:@"love"];
    NSLog(@"location = %lu,length = %lu",range.location,range.length);

表达2:

NSString *str3 = @"Imperial India Pale Ale (IPA)";
    NSRange r4 = [str3 rangeOfString:@"IPA"];
    // Did we find the string "IPA" ?
    if (r4.length > 0)
        NSLog(@"Range is: %@", NSStringFromRange(r4));
    
    return 0;


用法2:输出字符串中的一段

NSString *str2 = @"Imperial India Pale Ale (IPA)";
    // Starting at position 25, get 3 characters
    NSRange r2 = NSMakeRange (25, 3);
    // This would also work:
    // NSRange range = {25, 3};
    NSLog (@"Beer shortname: %@", [str2 substringWithRange:r2]);


二、NSPoint\CGpoint  NSSize\CGSize  NSRect\CGRect (CGPoint CGSize)


CGPoint p1 = NSMakePoint(10, 10);
    NSPoint p2 = CGPointMake(20, 20); //最常用
    
    NSSize s1 = CGSizeMake(100, 50);
    NSSize s2 = NSMakeSize(100, 50);
    CGSize s3 = CGSizeMake(200, 50);
    
    CGRect r1 = CGRectMake(0, 0, 100, 50);
    CGRect r2 = {{0,0},{100,90}};
    CGRect r3 = {p1,s2};
    CGRect r4 = {CGPointZero,CGSizeMake(100, 90)};
    
    
    //CGPointZero == CGPointMake(0, 0);
    
    //CGSizeZero == CGSizeMake(0,0);
    
    //CGRectZero
    
    
    
    //将结构体转为字符串
    NSString *str = NSStringFromPoint(p1);
    NSLog(@"%@",str);
    
    NSString *str2 = NSStringFromSize(s2);
    NSLog(@"%@",str2);
    
    NSString *str3 = NSStringFromRect(r1);
    NSLog(@"%@",str3);


 三、Foundation结构体常见函数

 //比较两个点是否相同
    BOOL b = CGPointEqualToPoint(CGPointMake(10, 10), CGPointMake(10, 10));
    
    //CGSizeEqualToSize(<#CGSize size1#>, <#CGSize size2#>);
    
    //CGRectEqualToRect(<#CGRect rect1#>, <#CGRect rect2#>);
   
    BOOL b2 = CGRectContainsPoint(CGRectMake(50, 40, 100, 50), CGPointMake(130, 70));
    
    NSLog(@"%d",b2);



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值