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);

    }

  • 相关阅读:
    编程语言最终的目标
    浅谈编程语言的类型系统
    编程语言的五大系统
    Java Array、List、Set互相转化
    java 集合类 列表
    Java检查异常、非检查异常、运行时异常、非运行时异常的区别
    java 的枚举变量只能使用枚举常量来初始化--带有关联数据的枚举
    观察与思考

    种田与投资
  • 原文地址:https://www.cnblogs.com/yesihoang/p/4503542.html
Copyright © 2011-2022 走看看