xml地图|网站地图|网站标签 [设为首页] [加入收藏]

皇家88娱乐平台C基础笔记,黑马程序员

来源:http://www.ccidsi.com 作者:呼叫中心培训课程 人气:124 发布时间:2019-11-14
摘要:Objective-C中常用的结构体NSRange,NSPoint,NSSize(CGSize),NSRect Objective-C中常用的结构体NSRange,NSPoint,NSSize(CGSize),NSRect 1 NSRange NSRange 的原型为 typedef struct _NSRange { NSUInteger location; NSUInteger length; } N

Objective-C中常用的结构体NSRange,NSPoint,NSSize(CGSize),NSRect

Objective-C中常用的结构体NSRange,NSPoint,NSSize(CGSize),NSRect

1 NSRange

NSRange 的原型为

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

NSMakeRange的函数

NS_INLINEz是内联函数

     typedef NSRange *NSRangePointer;

     NS_INLINE NSRange NSMakeRange(NSUInteger loc, NSUInteger len) {
     NSRange r;
     r.location = loc;
     r.length = len;
     return r;
     }

应用办法

 //NSRange表示的是范围
    NSRange  range;
    range.location = 18;
    range.length = 34;

    NSLog(@"location is %zi",range.location);
    NSLog(@"length is %zi",range.length);

    //快速创建
    range = NSMakeRange(8, 10);
    NSLog(@"location is %zi",range.location);
    NSLog(@"length is %zi",range.length);

    //NSStringFromRange将上面的结构体转化成字符串类型,打印出来

    NSString* str1 = NSStringFromRange(range);

    //%@是一个OC对象,range代表的是一个结构体,str是一个OC对象
    NSLog(@"rang is %@",str1);

2 NSPoint

NSPoint的原型

struct CGPoint {
     CGFloat x;
     CGFloat y;
     };

NSMakePoint函数

NS_INLINE NSPoint NSMakePoint(CGFloat x, CGFloat y) {
     NSPoint p;
     p.x = x;
     p.y = y;
     return p;
     }

CGPointMake函数

CGPointMake(CGFloat x, CGFloat y)
     {
     CGPoint p; p.x = x; p.y = y; return p;
     }

运用方法

//NSPoint指的是位置
    NSPoint point;

    //给结构体里面的点进行赋值
    point.x = 10;
    point.y = 10;

    //快速创建点
    point = NSMakePoint(10, 18);

    //常见的是CGPointMake创建点的函数
    point = CGPointMake(29, 78);
    NSString* str2 = NSStringFromPoint(point);
    NSLog(@"point is %@",str2);

3 CGSize

CGSize的原型

struct CGSize {
     CGFloat width;
     CGFloat height;
     };

NSMakeSize函数

NS_INLINE NSSize NSMakeSize(CGFloat w, CGFloat h) {
     NSSize s;
     s.width = w;
     s.height = h;
     return s;
     }

CGSizeMake函数

CGSizeMake(CGFloat width, CGFloat height)
     {
     CGSize size; size.width = width; size.height = height; return size;
     }

选拔方法

 NSSize size;

    size.width = 100;
    size.height = 12;
    size = NSMakeSize(12, 12);
    size = CGSizeMake(11, 11);

    NSString* str3 = NSStringFromSize(size);
    NSLog(@"%@",str3);

4 CGRect

CGRect的原型

struct CGRect {
     CGPoint origin;
     CGSize size;
     };

CGRectMake的函数

CGRectMake(CGFloat x, CGFloat y, CGFloat width, CGFloat height)
     {
     CGRect rect;
     rect.origin.x = x; rect.origin.y = y;
     rect.size.width = width; rect.size.height = height;
     return rect;
     }

NSMakeRect函数

NS_INLINE NSRect NSMakeRect(CGFloat x, CGFloat y, CGFloat w, CGFloat h) {
     NSRect r;
     r.origin.x = x;
     r.origin.y = y;
     r.size.width = w;
     r.size.height = h;
     return r;
     }

利用方法

 //既包含了尺寸大小和位置
    NSRect rect;
    rect.origin.x = 12;
    rect.origin.y = 14;
    rect.size.width = 12;
    rect.size.height = 15;

    //快速创建方法
    rect = CGRectMake(12, 12, 12, 12);
    rect = NSMakeRect(11, 11, 11, 11);

    //转化成字符串打印出来
    NSString* str5 = NSStringFromRect(rect);
    NSLog(@"rect is %@",str5);

Objective-C中常用的结构体NSRange,NSPoint,NSSize(CGSize),NSRect 1 NSRange NSRange 的原型为 typedef s...

Objective-C底工笔记(7)Foundation中的常用结构体

一、NSRange

NSRange的定义:

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

NSRanage的使用:

    NSRange range = NSMakeRange(8, 10);

    NSLog(@"location:%zi", range.location);
    NSLog(@"length:%zi", range.length);

    NSString *str = NSStringFromRange(range);
    NSLog(@"%@", str);

二、NSPoint

NSPoint的定义:

typedef CGPoint NSPoint;

struct CGPoint {
  CGFloat x;
  CGFloat y;
};
typedef struct CGPoint CGPoint;

NSPoint的使用:

    NSPoint p;
    p.x = 10;
    p.y = 10;

    p = NSMakePoint(11, 11);

    //常见的方式
    p = CGPointMake(12, 12);

    NSString * str = NSStringFromPoint(p);
    NSLog(@"%@", str);

三、NSSize

NSSize的定义:

typedef CGSize NSSize;

struct CGSize {
  CGFloat width;
  CGFloat height;
};
typedef struct CGSize CGSize;

NSSize的使用:

    NSSize s;
    s.width = 100.1;
    s.height = 100.3;

    s = NSMakeSize(12.3, 16.9);

    s = CGSizeMake(15.3, 19.2);

    NSString *str = NSStringFromSize(s);
    NSLog(@"%@", str);

四、NSRect

NSRect的定义:

typedef CGRect NSRect;

struct CGRect {
  CGPoint origin;
  CGSize size;
};
typedef struct CGRect CGRect;

NSRect的使用:

    NSRect r;
    //r.origin.x = 11;
    //r.origin.y = 13;
    r.origin = NSMakePoint(50, 50);
    r.size = NSMakeSize(60, 60);

    r = NSMakeRect(20, 20, 30, 30);

一、NSRange NSRange的定义: typedef struct _NSRange { NSUInteger location; NSUInteger length;} NSRange; NSRanage的使...

猝然程序猿——Foundation中的OC结构体,foundationoc

 


OC结构体

NSRange

NSPointCGPoint 

NSSizeCGSize

NSRectCGRect

1.NSRange:字符在字符串中的范围(地点,长度卡塔尔国

用typedef 定义NSRange结构体类型:

      typedef struct _NSRange {

          NSUInteger location;

          NSUInteger length;

        } NSRange;

  用法比方:

      NSString*[email protected]"i love you";

      NSRange range1=NSMakeRange(2,4);// 则r代表的正是love的界定

      NSRange range2 = [str rangeOfString:@"love"];        // 定义NSRange结构体类型变量range 并将字符串@“love”的职位和长度保存在range2中。

      NSLog(@"loc = %ld length = %ld", range2.location, range2.length);// 打印出love的地点和长度,结果为loc=2 length=4.

       若查找不到某些字符串的限量length=0,location=NSNotFound==-1。

2.NSPointCGPoint:鲜明平面中多个点的坐标

          typedef struct CGPoint {

             CGFloat x;

             CGFloat y;

          }CGPoint;

         typedef CGPoint NSPoint;

用法例如:

        CGPoint p1 = NSMakePoint(10,10);//即点p1的x和y的值都以10.

        NSPoint p2 = CGPointMake(5,6);    //常用这种写法; 点p2.x=5,p2.y=6.

 

结构体能够转为字符串,方便查看结构体各类属性

         NSString *str = NSStringFromPoint(p1);//将点p1转成字符串保存在str中

         NSLog(@"%@", str);//输入该字符串  {10,10}

 下边两种情景都必要在CoreGraphics框架下运作

       1.相比比较多个点是不是相像

   BOOL a = CGPointEqualToPoint(CGPointMake(10,10), CGPointMake(10,10));

      2.底下表示坐标原点

   CGPointZero等价于CGPointMake(0,0)

    3.NSSizeCGSize 陈说三个UI成分的尺码(宽度,中度)

        struct CGSize {

            CGFloat width;

            CGFloat height;

        };

        typedef struct CGSize CGSize;

        typedef CGSize NSSize;

     用法举例:

        NSSize s1 = NSMakeSize(15,20);

        CGSize s2 = NSMakeSize(45,23);

        NSSize s3 = CGSizeMake(20,20);

 

        NSString *str1 = NSStringFromSize(s1);

        NSLog(@"%@", str1);

 

 比较尺寸是不是意气风发律要调用的CGSizeEqualToSize函数也亟需在CoreGraphics框架下运作。

        NSSize s1 = NSMakeSize(15,20);

        CGSize s2 = NSMakeSize(45,23);

        BOOL b = CGSizeEqualToSize(s1, s2);

// 或写成行代码BOOL b =CGSizeEqualToSize(CGSizeMake(15,20),CGSizeMake(45,23));

        NSLog(@"%d",b);

    4.NSRectCGRect :规定四个矩形

        struct CGRect {

            CGPoint origin;

            CGSize size;

        };

        typedef struct CGRect CGRect;

        typedef CGRect NSRect;

     用法举个例子:CGRect定义变量及开头化的点子有下边两种。

         CGRect r = CGRectMake(2,2,50,12);

         CGRect r1 = CGRectMake(3,2,25,12);

         CGRect r2 = {p1,s1};

         CGRect r3 = {{10,20},{100,50}};

CGRect r3 = {CGPointZero, CGSizeMake(50,12)};

长期以来也得以将这种结构体转为字符串

         NSString *str2 = NSStringFromRect(r);

         NSLog(@"%@", str2);

 比较五个矩形是还是不是等于能够用上面函数完成

         CGRectEqualToRect(r,r1);

推断叁个点是或不是在矩形内能够用下边函数完成

BOOL b1=CGRectContainsCGPoint(CGRectMake(50,60,100,90),CGPointMake(90,90));

 

 

    

 

    

OC结构体 NSRange NSPointCGPoint NSSizeCGSize NSRectCGRect 1.NSRange: 字符在字符串中的范围(地点,...

本文由68399皇家赌场发布于呼叫中心培训课程,转载请注明出处:皇家88娱乐平台C基础笔记,黑马程序员

关键词: 68399皇家赌场

上一篇:合并数组,数组合并问题的解法

下一篇:没有了

最火资讯