Foundation之结构体总结

一.NSRange :表示相关事物的范围.

typedef struct _NSRange {
    NSUInteger location;
    NSUInteger length;
} NSRange;
  1. location 字段为该范围的起始位置
  2. length 字段为该范围内所含元素的个数 (从location开始算.(用数学1开始数) )

2.创建:

(1)直接给字段赋值
NSRange range; 
range.location = 12; 
range.length = 3;

(2)应用 C 语言的聚合结构赋值机制
NSRange range2 = {12,3};
NSRange range3 = {.location = 3,.length = 5};

(3)使用 NSRange.h类 提供的快捷函数 NSMakeRange
 NSRange r4 = NSMakeRange(3, 3);

 

3.常用API:

    1,从指定位置from开始(包含起始位置)到尾部
        - (NSString *)substringFromIndex:(NSUInteger)from;
 
    2,从字符串的开头一直截取到指定的位置to,不包含结束位置
        - (NSString *)substringToIndex:(NSUInteger)to;
 
    3,按照所给出的NSRange从字符串中截取子串
        - (NSString *)substringWithRange:(NSRange)range;

    4,字符串替换,用replacement替换target
        - (NSString *)stringByReplacingOccurrencesOfString:(NSString *)target withString:(NSString *)replacement;
        

    5.NSStringFromRange 可以将结构体转化成字符串,
     NSRange range = NSMakeRange(4, 7);

例如: NSString *test2 = NSStringFromRange(range);
结果: {4, 7}

   
    6.字符串截取:- (NSString *)substringWithRange:(NSRange)range;   
         
      NSString *str = @"<hello>tangFeng</hello>";
          @">"  loc+1
        NSUInteger loc = [str rangeOfString:@">"].location + 1; 
       "t"得位置   7

          @"</" loc
        NSUInteger len = [str rangeOfString:@"</"].location - loc;  
      要截取的字符的长度  15 -7

     入坑点:如果用<,位置就是0,
            用</,遇到<就停止了,停止的位置为15。
                 不是/ /的位置16
    

        构建 ruange   (7,8)
        NSRange r2 = NSMakeRange(loc, len);
         截取
        NSString *subStr = [str substringWithRange:r2];

二.NSPoint/NSRect/NSSize:

  1. NSPoint表示一个点
  2. NSSize表示大小
  3. NSRect表示一个矩形

注意:

NSPoint 实际上就是 CGPoint

NSRect 实际上就是 CGRect

NSSize 实际上就是 CGSize


NSPoint 主要用来描述一个点,坐标的原点为屏幕左上角。
比如一个坐标为(1,2)的点: NSPoint p = NSMakePoint(1,2);
或者:
NSPoint p;
p.x = 1;
p.y = 2;
或者:
NSPoint p = {1,2};

NSPointZero 代表原点(0,0)

 

NSSize 用来描述一个矩形大小区域,可以用来表示 UI 控件的尺寸
    NSSize s=NSMakeSize(10, 15);NSSize其实就是CGSize
    这种方式比较常见 CGSize s2=CGSizeMake(10, 15);

NSRect 用来描述一个矩形的位置和尺寸,
比如在原点画一个 20x20 大小的正方形:
NSRect myRect;
myRect.origin.x = 0; 
myRect.origin.y = 0; 
myRect.size.width = 20;
myRect.size.height = 20;

或者:
NSRect myRect = {0,0,20,20};
或者:
NSRect myRect = NSMakeReact(0,0,20,20);

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值