Object-C 封装、拆包基本数据类型
来源:互联网 发布:js获取div的name属性 编辑:程序博客网 时间:2024/05/21 17:05
Object-C 封装、拆包基本数据类型
Foundation 框架下的基本类
NSValue / NSNumber
功能将OC和C当中的基本数据类型转换成实例对象,即将值类型转换成引用类型
//Object-C的基本数据数据类型 int a = 5 ; float b = 4.5 ; double c = 34.5545 ; char d = 'c' ; BOOL flag = YES ;// CGPoint point = {3,5};// CGSize size ={30,40};// CGRect rect = {point ,size}; CGPoint point = CGPointMake(3, 5); CGSize size = CGSizeMake(30, 40); CGRect rect = CGRectMake(3, 5, 40, 60); NSRange range = NSMakeRange(3, 7); NSEdgeInsets edgeInsets = NSEdgeInsetsMake(10, 10, 10, 10);
NSValue 为 NSNumber 的父类。
其中NSValue类可以将CGPoint, CGSize ,CGRect ,CGRange ,CGEdgeInsets 转换成对象
NSValue *pointValue = [NSValue valueWithPoint:point]; NSValue *sizeValue = [NSValue valueWithSize:size]; NSValue *rectValue = [NSValue valueWithRect:rect]; NSValue *rangeValue = [NSValue valueWithRange:range]; NSValue *egeInsetsValue = [NSValue valueWithEdgeInsets:edgeInsets];
其中 NSNumber 类可以将 ‘int’ ‘float’ ‘double’ ‘char’ ‘BOOL’等C中基本数据类型转换成对象
NSNumber *intNumber = [NSNumber numberWithInt:a]; NSNumber *intergerNumber = [NSNumber numberWithInteger:12]; NSNumber *floatNumber = [NSNumber numberWithFloat:b]; NSNumber *doubleNumber = [NSNumber numberWithDouble:c]; NSNumber *charNumber = [NSNumber numberWithChar:d]; NSNumber *boolNumber = [NSNumber numberWithBool:flag];
我们将C 和OC中的基本数据类型 (值类型) 转换成 对象 (引用类型)的过程,叫做封装。相对应的也有一个将对象转变成基本数据类型,此过程叫做拆包。
int a1 = [intNumber intValue]; NSInteger a2 = [intergerNumber integerValue]; float a3 = [floatNumber floatValue]; double a4 = [doubleNumber doubleValue]; char a5 = [charNumber charValue]; BOOL a6 = [boolNumber boolValue];
0 0
- Object-C 封装、拆包基本数据类型
- Objective-C语言——封装、拆包基本数据类型
- Objective-c语言_基本数据类型封装和拆包
- Objective-C语言_基本数据类型封装和拆包
- OC中封装,拆包基本数据类型
- OC_封装、拆包基本数据类型
- OC封装和拆包基本数据类型
- 【Object C】 基本数据类型
- Object C 基本数据类型
- Object-c中的基本数据类型
- Object-C基本数据类型小结
- Object-c提供基本数据类型
- Object-C之基本数据类型
- iOS OC基本数据类型~封装和拆包
- Object-C基本的数据类型介绍
- Object-C 运行时机制几种最基本数据类型
- OC语言 封装 拆包基本数据类型 Foundation框架下的基础类 NSValue/NSNumber
- OC中封装,拆包基础数据类型
- 循环展开
- android:layout_weight的真实含义
- ios开发--UISegmentedControl分段
- 将优酷视频嵌入手机移动端
- css 实现垂直居中的5种方法
- Object-C 封装、拆包基本数据类型
- Dom4j完整教程
- LeetCode题解——Implement strStr()
- Hadoop中自带的examples之wordcount应用案例
- 1062. Talent and Virtue (25)
- Leetcode37 Sudoku Solver
- 去掉activity默认动画效果的方法
- MySQL的btree索引和hash索引的区别
- Android性能测试