• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
莉er
博客园    首页    新随笔    联系   管理    订阅  订阅
Objective-C( Foundation框架 一 常见的结构体)

常见的结构体 (NSPoint,CGPoint)、(NSRange,CGRange)、(NSSize,CGSize)

苹果官方推荐使用CG开头的结构体

NSRange是Foundation框架中常见的结构体它的定义如下:

typedef struct _NSRange

{

  // 范围的起始位置

  NSUInteger location;

  // 范围的长度

  NSUInteger length

}

NSUInteger的定义:

typedef unsigned int NSInteger;

typedef unsigned long NSUInteger;

 

NSRange创建的几种方式

    
    NSRange range;
    range.location = 2;
    range.length = 3;
    
    range= (NSRange){3, 5};
     
    NSRange r = NSMakeRange(2, 4);
       

 

CGPoint 和 NSPoint :用来表示二维平面的一个点

CGPoint 是NSPoint的一个别名

struct CGPoint {
   CGFloat x; 点的x方向
   CGFloat y; 点的y方向
};

用法:
    
  // 表示二维平面的一个点
    CGPoint p1 = NSMakePoint(10 ,14);
    NSPoint p2 = CGPointMake(11,20);

    CGPoint c1 = { 10, 12};
  

CGSize 和 NSSize:用来表示平面的面积

struct CGSize {
   CGFloat width;  宽
   CGFloat height; 高
};
    CGSize s1;
    s1.width = 10;
    s1.height = 20;
    
    // OC中特有的方式
    CGSize s2 = CGSizeMake(14, 13);

 

CGRect  和 NSRect:表示在平面上左上角是某个点的矩形区域

struct CGRect {
    var origin: CGPoint  // 表示矩形左上角的点
    var size: CGSize     // 表示矩形的大小
    init()
    init(origin origin: CGPoint, size size: CGSize)
}

    CGRect r = {{0, 1},{20, 30}};
   
    // OC特有方式
    CGRect r1 = CGRectMake(1, 2, 10, 60);
    NSRect r2 = NSMakeRect(2, 5, 80, 90);
    
    // 打印方式
    NSLog(@"r1 = %@", NSStringFromRect(r1));

 

 
posted on 2015-09-04 20:09  lier莉儿  阅读(359)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3