底层封装是使用了typedef定义的结构体

typedef struct _NSString{
xxx
xxx
} NSString;
 
1. NSRange 结构体
#注意结构体不是对象
3种定义方式
         typedef struct _NSRange{
int location;
int length;
} NSRange;
(1) 先声明后赋值
(2)同时声明、按照顺序赋值
(3)使用c函数,同时声明、赋值,并指定赋值的成员变量名
     NSRange range = {, };
NSRange range2 = {.location = , .length = };
NSRange range3 = NSMakeRange(, );
 
返回对象字符串形式:
NSStringFromRange(NSRange)
转换并返回一个字符串
 
2. NSPoint / CGPoint 结构体
 void point()
{
NSPoint p;
p.x = ;
p.y = ; p = NSMakePoint(, ); p = CGPointMake(, ); NSString *str = NSStringFromPoint(p);
NSLog(@"The point is %@", str);
}
 
3. NSSize/ CGSize 结构体
 void size()
{
NSSize size;
size.width = ;
size.height = ; size = NSMakeSize(, ); size = CGSizeMake(, ); NSString *str = NSStringFromSize(size);
NSLog(@"The size is %@", str);
}
 
4. NSRect / CGRect
 void rect()
{
NSRect r;
r.origin.x = ;
r.origin.y = ;
r.size.height = ;
r.size.width = ; r = NSMakeRect(13.11, 42.11, 42.55, 11.44); r = CGRectMake(13.11, 42.11, 42.55, 11.44); }
 
origin 是一个 NSPoint
 

[OC Foundation框架 - 1] 常用结构体的更多相关文章

  1. iOS Foundation框架 -1.常用结构体的用法和输出

    1.安装Xcode工具后会自带开发中常用的框架,存放的地址路径是: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.plat ...

  2. Objective-C基础笔记(7)Foundation中的常用结构体

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

  3. iOS Foundation框架简介 -1.常用结构体的用法和输出

    1.安装Xcode工具后会自带开发中常用的框架,存放的地址路径是: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.plat ...

  4. 从头开始-07.Foundation框架常用结构体

    一.Foundation框架常用结构体NSRange\CGRange.NSPoint\CGPoint.NSSize\CGSize. NSRect\CGRect 的使用 1.  基本使用: //NSRa ...

  5. iOS Foundation框架 -2.常用集合类简单总结

    Foundation框架中常用的类有:NSString.NSArray.NSSet.NSDictionary 以及它们对应的子类 NSMutableString.NSMutableArray.NSMu ...

  6. OC对象里面包含的结构体类型的属性,不能对该结构体属性的成员单个进行修改

    OC对象里面包含的结构体类型的属性,不能对该结构体属性的成员单个进行修改,需要对OC对象的结构体属性整体赋值. 关于网上很多博客写着“结构体类型里面的某个属性如果想要修改是不允许单个修改的” 之解释: ...

  7. OC Foundation框架—结构体

    一.基本知识 Foundation—基础框架.框架中包含了很多开发中常用的数据类型,如结构体,枚举,类等,是其他ios框架的基础. 如果要想使用foundation框架中的数据类型,那么包含它的主头文 ...

  8. Foudation框架之一些常用结构体和常用类

    表示范围作用的结构体:NSRange:       有三种方式创建新的NSRange: 1.NSRange range:            range.location = 17;         ...

  9. 八、Foundation -常用结构体

    一.NSRange 在foundation/NSRange.h中对NSRange的定义 typedef struct _NSRange{ NSUInteger location; NSUInteger ...

随机推荐

  1. 24.allegro中光绘gerber[原创]

    光绘 一,基本设置 或者: ------------------------------------- ------- ------- 二,需要设置内容: 1)顶层和底层: 2)内部布线层: 3)OU ...

  2. 摄像头(4)用Camera和SurfaceView自定义拍照程序

    定制拍照程序的基本步骤 1,打开照相机:Camera.open 这是独占方式打开的 2,创建SurfaceView对象 多缓冲,多线程view 3,添加回调事件监听器(SurfaceHolder.ad ...

  3. 8 Things Every Person Should Do Before 8 A.M.

    https://medium.com/@benjaminhardy/8-things-every-person-should-do-before-8-a-m-cc0233e15c8d 1. Get A ...

  4. ListView使用CursorAdapter增加和删除item

    @Override protected void onCreate(Bundle savedInstanceState) { // TODO 自动生成的方法存根 super.onCreate(save ...

  5. Java面试题-并发框架

    1. SynchronizedMap和ConcurrentHashMap有什么区别?  答:java5中新增了ConcurrentMap接口和它的一个实现类ConcurrentHashMap.Conc ...

  6. node安装插件方法

    node安装插件方法有几种,这里列出常用的两种方法: 方法1: 进入要安装插件的目录,直接用 npm 软件安装包安装,如(安装express): cd /project npm install -g ...

  7. left (outer) join , right (outer) join, full (outer) join, (inner) join, cross join 区别

    z       --     -- select   a.*,b.*   from   a   left   join   b   on   a.k   =   b.k      select   a ...

  8. 函数buf_LRU_free_block

    /******************************************************************//** Try to free a block. If bpag ...

  9. 函数buf_LRU_free_from_unzip_LRU_list

    /******************************************************************//** Try to free an uncompressed ...

  10. 获取QQ所有的表情包,包括emoji,动态gif

    获取QQ所有的表情包,包括emoji,动态gif,代码如下. <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xht ...