zoukankan      html  css  js  c++  java
  • Foundation-常用结构体

    复习

    void test(){

    struct Date{

    int year;

    int month;

    int day;

    };

    struct Date d={2015,5,14};

    d.day=6;

    }

    void test1(){

    typedef struct Date{

    int year;

    int month;

    int day;

    }MyDate;

    MyDate d={2015,5,14};

    }


    在Foundation/NSRange.h中对NSRange定义

    typedef struct _NSRange{

    NSUInteger location;//NSInteger  unsignlong

    NSUInteger length;//NSInteger unsignlong

    }NSRange;

    作用

    这个结构体用来表示事物的一个范围,通常是字符串里面的字符范围或者集合里的元素范围

    location表示该范围的其实位置

    length表示该范围内所含元素的个数

    “I love oc”  的love可以用location为2 length为4的范围表示。


    创建方法

    1直接给成员赋值

    NSRange range;

    range.location=2;

    range.length=4;

    2用c语言聚合结构赋值机制

    NSRange range={2,4};

    或者NSRange range={.location=2,.length=4 };

    3Foundation 框架提供一种快捷函数

    NSRange range=NSMakeRange(2,4);

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

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

    //快速打印

    NSString *str=NSStringFromRange(range);//把结构体变成字符串

    NSLog(@"%@",str);//{2,4} %@ 是OC对象


    NSPoint //代表一个点 一个位置 定义

    typedef CGPoint NSPoint ;

    struct CGPoint{

    CGFloat x;

    CGFloat y;

    };

    void point(){

    NSPoint p;//CGPoint  same

    p.x=10;

    p.y=10;

    //快速创建

    p=NSMakePoint(10,9);

    p=CGPointMake(10,9);//CG is CoreGraphics     CF->CoreFoundation NS->NextStep

    //CG most common

    //快速打印

    NSString *str=NSSStringFromPoint(p);

    NSLog(@“%@”,str);

    }


    NSSize definition

    NSSize=CGSize

    struct CGSize{

    CGFloat width;  //CGFloat->CGFLOAT TYPE->double

    CGFloat height;

    };

    void size(){

    NSSize size;//CGSize

    size.width=100;

    size.height=90;

    size=NSMakeSize(100,90);

    size=CGSizeMake(90,100);

    NSString *str=NSStringFromSize(size);

    NSLog(@"%@",str);

    }


    NSRect definition  both存储尺寸和位置 

    NSRect=CGRect

    struct CGRect{

    CGPoint origin;

    CGSize size;

    }

    void rect(){

    NSRect rect;

    //rect.origin.x=10;

    //rect.original

    //NSPoint point=CGPointMake(20,30);

    //NSSize size=CGSize(40,50);

    //rect=NSMakeRect(point,size);//没说可不可以

    //rect=NSMakeRect(10,20,100,150);

    //rect=CGRectMake(10,20,100,150);

    NSString *str=NSStringFromRect(rect);

    NSLog(@"%@",str);

    }

  • 相关阅读:
    [Tip: VS debugging]F5 VS Ctrl +F5
    C#: boxing and unboxing
    [Tip: check overflow/underflow C#]
    C# floating Point types
    UVa 103 Stacking Box(记忆化搜索)
    POJ 3321 apple tree(树形数组)
    UVa 116 Unidirectional TSP(简单旅行商DP)
    UVa 562 Dividing coins(简单DP)
    UVa 10003 Cutting Sticks(区间DP)
    UVa 348 Optimal Array Multiplication Sequence(链式DP/区间DP)
  • 原文地址:https://www.cnblogs.com/yesihoang/p/4503542.html
Copyright © 2011-2022 走看看