黑马程序员-OC基础之NSValue的使用
2015-09-07 21:17
316 查看
作用
NSValue可以对结构体进行封装,NSValue是NSNumber的父类
NSRange rang = {10,20};
//封包
NSValue *rangValue = [NSValue valueWithRange:rang];
NSRange rang2 = [rangValue rangeValue];
NSLog(@"(%ld,%ld)",rang2.location,rang2.length);
对自定义的结构体封包
struct WXPoint
{
float x;
float y;
};
struct WXPoint p = {50,100};
NSValue *pointValue = [NSValue value:&p withObjcType:@encode(struct WXPoint)];
对自定义的结构体解包
struct WXPoint p2;
[pointValue getValue:&p2];
NSLog(@"p2.x=%f,p2.y=%f",p2.x,p2.y);
NSValue可以对结构体进行封装,NSValue是NSNumber的父类
NSRange rang = {10,20};
//封包
NSValue *rangValue = [NSValue valueWithRange:rang];
NSRange rang2 = [rangValue rangeValue];
NSLog(@"(%ld,%ld)",rang2.location,rang2.length);
对自定义的结构体封包
struct WXPoint
{
float x;
float y;
};
struct WXPoint p = {50,100};
NSValue *pointValue = [NSValue value:&p withObjcType:@encode(struct WXPoint)];
对自定义的结构体解包
struct WXPoint p2;
[pointValue getValue:&p2];
NSLog(@"p2.x=%f,p2.y=%f",p2.x,p2.y);
相关文章推荐
- EasyUI -datagrid分页后台查询
- ByBueredStream
- [APUE] 再读之进程关系
- 在现实编程中使用fluent风格
- POJ 1947 Rebuilding Roads
- 《APUE》读书笔记—进程控制
- 禁止Ubuntu开机进入guest session
- unique函数
- LeetCode(60) Permutation Sequence
- LeetCode(60) Permutation Sequence
- Codeforces 156D Clues (图论, 并查集, 卡特兰数)
- UISearchBar的基本用法
- easyui 布局
- EasyUI中datagrid控件的Editor
- build.gradle 各种错误解决总结
- 步骤条的实现原理及AliceUI中步骤条Step的应用
- UINavigationControllr 【导航控制器】自己的见解
- Android中的权限管理(基于uid gid gids setUid)
- UIday1001:UITableView 2 编辑(添加、删除)、移动、UITableViewController
- UICollectionView用法总结