Foundation Framework 基本数据封装 NSNumber、NSValue、NSData
来源:互联网 发布:腾讯来电软件怎么回事 编辑:程序博客网 时间:2024/05/01 14:56
NSNumber、NSValue、NSData用于将C语言基本数据类型封装成类对象,从而可以通过 NSArray、NSDictionary 来存取。
NSNumber 用于封装基本数值类型,创建NSNumber的两种方法:
NSNumber *number;number = [NSNumber numberWithChar:'X']; // 字符型number = [NSNumber numberWithInt:12]; // 整数number = [NSNumber numberWithFloat:12.234]; // 浮点数number = [NSNumber numberWithBool:YES]; // 布尔值number = @'X'; // 字符型number = @12; // 整数number = @12ul; // 无符号整数number = @12ll; // long longnumber = @123.45f; // 浮点数number = @123.45; // 双精度浮点数number = @YES; // 布尔型number = @(2+3); // @(表达式),其中表达式可以是数字、枚举和一切返回基本数据类型的表达式
将数据从 NSNumber 转换回 基本数据类型
char c = [number charValue];int n = [number intValue];float f = [number floatValue];double d = [number doubleValue];bool b = [number boolValue];NSString *s = [number stringValue];
NSValue 用于封装更复杂的C语言数据结构,及自定义数据结构
封装 NSValue *value = [NSValue valueWithBytes:&t1 objCType:@encode(Tire)];解封 [value getValue: &t1];
对于NSPoint、NSRect、NSSize等数据结构的快捷封装方式,以NSPoint为例:
NSPoint aPoint = {10,20};NSValue *value = [NSValue valueWithPoint: aPoint];NSPoint anotherPoint = [value pointValue];
NSData 二进制包
对nil的封装
当在NSArray、NSDictionary中存储nil时,可以用[NSNull null]代替
0 0
- Foundation Framework 基本数据封装 NSNumber、NSValue、NSData
- 【黑马程序员】【Foundation框架】NSNumber、NSValue和NSData
- NSNumber,NSValue和NSData
- NSNumber, NSValue, NSData
- OC语言 封装 拆包基本数据类型 Foundation框架下的基础类 NSValue/NSNumber
- 3.NSNumber,NSValue,NSData,NSDate及简单数据解析
- 黑马程序员——Foundation学习之NSNumber\NSValue\NSNull\NSFileManager\NSDate\NSData
- OC完全解读:Foundation框架下的NSValue,NSNumber ,NSNull,NSData,NSCalendarDate
- Foundation中的NSNumber与NSValue
- Foundation NSNumber NSValue NSNull NSDate
- 基础类型封装成NSNumber,NSValue和NSData后存储到NSArray/NSDictionary
- NSNumber、NSData、NSValue的使用场景
- 06.黑马程序员-NSNumber、NSValue、NSData
- NSValue NSNumber NSData类
- NSNumber、NSValue、NSData区别与联系
- IOS开发-NSNumber、NSValue、NSData的区别
- 【Objective-C基础】NSNumber,NSValue和NSData
- OC--Foundation-NSDictionary,NSNumber,NSDate,NSValue
- 1008Maya Calendar
- MDI中重新排列view视口(子窗口)
- JSP入门
- 菜鸟的安卓实习之路---微信悬浮窗通知窗口怎么做怎么做?
- eclipse错误:java was started but returned exit code=-1073741510
- Foundation Framework 基本数据封装 NSNumber、NSValue、NSData
- AndroidMaterialDesign动画之Activity Transitions
- hdu 5319 Painter 2015 Multi-University Training Contest 3
- c# 反射
- 简单实用的 Ubuntu 快捷键
- 如何成为受市场欢迎的Android开发
- kettle各组件说明
- 分布式文件系统试用比较
- ORACLE索引详解