• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
Yesi-悦思
"(program(computers) == *art) ? so : what" 修身岂为名传世,作事惟思利及人
博客园    首页    新随笔    联系   管理    订阅  订阅

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

}

 

posted @ 2015-05-14 15:50  悦思  阅读(137)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3