OC语言 集合>>封装与拆包
来源:互联网 发布:unity 2d rpg 源码 编辑:程序博客网 时间:2024/06/01 09:57
封装与拆包
//
// main.m
// Kiwir-OC04-01
//
// Created by ibokan on 15/12/11.
// Copyright © 2015年谭其伟. All rights reserved.
//
#import <Foundation/Foundation.h>
int main(int argc,const char * argv[]) {
@autoreleasepool {
//封装
/*
OC中封装、拆包基本数据类型
Foundation框架下的基础类
NSValue / NSNumber
功能:将OC和 C 当中的基本数据类型转换成实例对象,即将'值类型'转换成'引用类型'
*/
//OC中常用的数据类型,第一种数据类型
int a = 5;
float b = 5.0;
double c = 5.5;
char d = 'a';
bool flag = YES;
//第一种赋值方式
// CGPoint point = {3,4};
// CGSize s0ize = {5,6};
// CGRect rect = {point,size};
//NSRange包含了两个成员,location以及 length . location表示起始位置,以0开始;length表示长度。
// NSRange range = {10,3};
//第二种赋值方式
CGPoint point = CGPointMake(3, 4);
CGSize size = CGSizeMake(5, 6);
CGRect rect = CGRectMake(3, 4, 5, 6); //代表一个矩形的位置
NSRange range = NSMakeRange(10, 3);
NSEdgeInsets edgeInsets = NSEdgeInsetsMake(10, 10, 10, 10);
//NSValue 以及 NSNumber
//NSValue 是 NSNumber 的父类
//其中 NSValue可以将 CGPoint,CGSize,CGRect,NSRange,NSEdgeInsets转换成对象
//声明一个对象 *pointVa
NSValue *pointVa = [NSValuevalueWithPoint:point]; //将point类型封装成对象
NSLog(@"%@",pointVa); //以对象形式输出
NSValue *sizeVa = [NSValuevalueWithSize:size];
NSValue *rectVa = [NSValuevalueWithRect:rect];
NSValue *rangeVa = [NSValuevalueWithRange:range];
NSValue *edgeInsetsVa = [NSValuevalueWithEdgeInsets:edgeInsets];
// NSValue *sizeVa1 =@5;6;
// NSValue *rectVa1 =@3;4;
// NSLog(@"sizeVa1 = %@,rectVa1 = %@",sizeVa1,rectVa1);
//这样输出只能输出第一个字母,可能不能用新语法吧????
//其中NSNumber可以将 'int','float','double','char','bool'等C中基本数据类型转换成对象
//封装:
NSNumber *intNumber = [NSNumbernumberWithInt:a]; //后面填刚才声明的变量a;
NSNumber *floatNumber = [NSNumbernumberWithFloat:b];
NSNumber *doubleNumber = [NSNumbernumberWithDouble:c];
NSNumber *charNumber = [NSNumbernumberWithChar:d];
NSNumber *boolNumber = [NSNumbernumberWithBool:flag];
NSLog(@"charNumber = %@",charNumber);
//新语法
NSNumber *intNumber1 = @5;
NSNumber *boolNumber1 =@YES;
NSNumber *floatNumber1 =@5.5;
NSNumber *doubleNumber1 =@5.2;
NSNumber *charNumber1 =@'d'; //????
NSLog(@"boolNumber1 = %@,charNumber1 = %@,intNumber1 = %@",boolNumber1,charNumber1,intNumber1);
// 我们将C和 OC 中的基本数据类型(值类型)转换成对象(引用类型)的过程叫做封装。相对应的也有一个将对象转变成基本数据类型,此过程叫做拆包。
//拆包
//拆包
int a1 = [intNumber intValue];
float b1 = [floatNumber floatValue];
double c1 = [doubleNumber doubleValue];
char d1 = [charNumber charValue];
bool flag1 = [boolNumber boolValue];
CGPoint point1 = [pointVa pointValue]; //声明一个变量point1= pointVa这个对象
CGSize size1 = [sizeVa sizeValue];
CGRect rect1 = [rectVa rectValue];
NSRange range1 = [rangeVa rangeValue];
NSEdgeInsets edgeInsets1 = [edgeInsetsVaedgeInsetsValue];
}
return 0;
}
2015-12-15 20:25:11.880 Kiwir-OC04-01[37633:304863] NSPoint: {3, 4}2015-12-15 20:25:11.882 Kiwir-OC04-01[37633:304863] charNumber = 972015-12-15 20:25:11.882 Kiwir-OC04-01[37633:304863] boolNumber1 = 1,charNumber1 = 100,intNumber1 = 5Program ended with exit code: 0
- OC语言 集合>>封装与拆包
- OC-封装/拆包
- OC学习日记-06 封装、拆包与字符串
- OC中封装,拆包基本数据类型
- OC中封装,拆包基础数据类型
- OC封装和拆包基本数据类型
- OC 的封装、拆包 ...和 字符串
- OC语言 封装 拆包基本数据类型 Foundation框架下的基础类 NSValue/NSNumber
- iOS--OC语言相机封装----包含保存与读取
- OC ---封装与方法
- OC ---封装与方法
- iOS OC基本数据类型~封装和拆包
- OC语言---封装,继承,多态
- 黑马程序员-OC语言-封装
- OC语言5—封装
- OC集合与字典
- NSValue / NSNumber 拆包与封装
- 黑马程序员-OC语言之封装
- Java3D学习篇<第一个Java3D程序>
- 自己动手写cocos2dx游戏引擎(六)——引用计数机制
- C++通过基类指针delete派生类数组,析构函数是虚函数,程序为什么会崩溃? https://www.zhihu.com/question/30838092/answer/49623765
- js调用android原生方法,简单明了。
- ExpandableListView
- OC语言 集合>>封装与拆包
- call和goto、eof、%~0怎么理解这段代码
- win7安装Oracle11g出错INS-30131
- FaceBook pop 动画开源框架使用教程说明
- 彻底理解子网掩码与子网划分
- 开机动画bootanimation.zip的陷阱
- android 环境配置
- 切换电脑静态ip和动态ip
- adb pull serial files