Objective-C字符串与数组
来源:互联网 发布:原始网卡mac地址 编辑:程序博客网 时间:2024/05/18 01:53
NSString和NSDictionary只能储存对象,而不能直接储存任何基本类型的数据,如int、float、和struct。
不过你可以用对象来封装基本数据,比如将int型数据封装到一个对象中,就可以将这个对象放入NSArray和NSDictionary中了。
数值类 NSString
//将基本数剧类型转换成对象
NSNumber *number = [[NSNumber alloc]initWithInt:65];
NSNumber *number1 = [[NSNumber alloc]initWithChar:'A'];
NSNumber *number2 = [NSNumber numberWithInt:7];
//输出装换后的对象
NSLog(@"number = %d",number.intValue);
NSLog(@"number1 = %c",number1.charValue);
NSLog(@"number2 = %@",number2.stringValue);
//字面量//将字符串数组存入对象中然后进行输出
NSNumber *number = @2;
NSLog(@"number = %@",number);
CGFloat f = 100.34;
NSNumber *number = @(f);
NSLog(@"number = %@",number);
char c = 'A';
NSNumber *number = @(c);
NSLog(@"number = %@",number);
//其实是将一个基本类型数据封装到NSNumber中后,然后再将另一个对象输出
将创建方法的和提取方法搭配在一起使用是完全可以的,
例如:用numberWithFloat: 创建的NSNumber对象可以用intValue方法来提取数据,
NSNumber会对数据进行适当地转换
在这里给大家插播点技术概念:
通常将一个基本类型的数据封装成对象的过程被称为 装箱 ,从对象中提取基本类型的数据叫做 开箱,有些语言有自动装箱的功能,可以自动封装基础类型的数据,也可以自动从封装后的对象中提取基础数据。Objective-C语言不支持自动装箱功能。
NSValue数值
NSNumber实际上是NSValue的子类,NSValue可以封装任意值,你可以使用NSValue将数据结构体放入NSArray或NSDictionary中,使用下面的类方法便能创建新的NSValuel对象。
NSRange range = {1,4};
NSValue *value = [NSValue valueWithRange:range];valueWithRange: // 值范围
NSLog(@"value = %@",value);
//在主函数上面定义结构体
typedefstruct student{
char name[20];
char sex;
int num;
}Student;
//获取结构体的值
Student stu1;
[value getValue:&stu1];
NSLog(@"name = %s",stu1.name);
//定义一个老师结构体
//定义一个老师结构体变量
//将变量转换成NSValue对象
//定义一个老师结构体变量,将NSValue中的值取出
typedefstruct teacher{//结构体定义在主函数上面
char name[20];
char sex;
char age;
float score;
}Teacher;
Tearcher tea = {"haicheng",'m',14,99};
NSValue *value = [[NSValue alloc]initWithBytes:&tea objCType:@encode(struct teacher)];
NSLog(@"value = %@",value);
teacher tea1;
[value getValue:tea1];
NSLog(@"tea = %s",tea1.name);
- Objective-C字符串与数组
- Objective-c 字符串 数组 转换
- objective c 字符串处理 ,数组
- objective c 字符串处理 ,数组(转)
- Objective-C中的数组和字符串
- objective-c与c字符串互相转换
- C:数组与字符串
- C数组与字符串
- Objective-C 字符串与数值互相转换
- Objective-C 字符串与数值互相转换
- Objective-c 字符串与整型相互转化
- Objective-C: 字符串NSString与NSMutableString
- Objective-C字符串NSString与NSMutableString
- Objective-C -- 字符串与数字互相转换
- C语言--数组与字符串
- c语言数组与字符串
- C字符数组与字符串
- C语言 数组与字符串
- appdelegate中注册第三方sdk
- arm 寄存器装载和存储
- 每天一个linux命令(53):route命令
- 计算机网络的基本概念
- Android开源控件ViewPager Indicator的使用方法
- Objective-C字符串与数组
- cowfood
- Flex 布局教程:实例篇(转载自阮一峰博客)
- ubuntu server平台下安装与配置MYSQL的ODBC驱动
- 真正的云主机到底是什么样的?
- 响应者链条
- Android黑科技,读取用户短信+修改系统短信数据库
- 服务相关编程
- 数学形态学及图像压缩