iOS开发-OC篇-NSSet,NSNumber
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了iOS开发-OC篇-NSSet,NSNumber,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2266字,纯文字阅读大概需要4分钟。
内容图文
最近回顾了OC的一些基本知识,发现确实遗忘了很多重要的东西,今天整理了一些小的知识点,和大家分享一下。
iOS的集合对象不可以存储C语言基本类型,所有可以进行装箱和拆箱,来进行OC对象操作。
1、NSNumber包装类
1> 普通初始化
NSNumber * num1 = [[NSNumber alloc] initWithInt:20];
NSNumber * num2 = [NSNumber numberWithChar:‘a‘];
2>字面量初始化
NSNumber * num3 = @300;
NSNumber * num4 = @123.2;
NSNumber * num5 = @‘X‘;
3>变量初始化
int a = 29;
NSNumber * num5 = @(a);
4>NSNumber转基本数据类型
charValue,intValue,longValue,doubleValue
2、NSValue包装类
举例:
typedef struct {
int age;
char * name;
char sex;
} SPerson;
SPerson person;
person.name = "dahuan";
person.age = 10;
person.sex = ‘m‘;
//将一个结构体转换为NSValue对象,
//@encode(aType) 可以返回该类型的 C 字符串(char *)的表示
NSValue * value = [NSValue valueWithBytes:&person objCType:@encode(SPerson)];
SPerson person2;
//将一个NSValue对象转换为结构体
[value getValue:&person2];
NSLog(@"%s",person2.name);
NSLog(@"%d",person2.age);
NSLog(@"%c",person2.sex);
NSRange range = {12,2};
//常用结构体装箱
NSValue * rvalue =[NSValue valueWithRange:range];
//rangeValue将NSRange拆箱
NSLog(@"%@",NSStringFromRange([rvalue rangeValue]));
3、区分各种空值
nil是一个对象指针为空
Nil是一个类指针为空
NULL是基本数据类型为空。
NSNull空对象 是可以放在数组里的
4、NSSet用法
1> NSSet初始化
NSSet * set = [[NSSet alloc] initWithObjects:@"a",@"b",@"c", nil];
NSSet * set1 = [NSSet setWithObjects:@"z",@"x",@"c", nil];
NSSet * set2 = [NSSet setWithArray:array];
2> 获取NSSet中任意对象
[set2 anyObject]
3> 是否包含某对象
[set2 containsObject:@"w"]
4> 是否有相同元素
[set intersectsSet:set2]
5、NSMutableSet用法
1> NSMutableSet初始化
NSMutableSet * set = [[NSMutableSet alloc] initWithCapacity:0];
2> 追加删除和NSMutableArray一样
3> 取两个NSSet的并集
[set unionSet:set2]
4> NSSet减去一样的元素
[set minusSet:set2]
5> 取两个NSSet的交集
[set intersectSet:set2]
6、NSDictionary用法
1> NSDictionary初始化
NSDictionary * dict = [[NSDictionary alloc] initWithObjectsAndKeys:@"value1",@"key1",@"value2",@"key2", nil];
NSDictionary * dict2 = [NSDictionary dictionaryWithObjects:@[@"value1",@"value2"] forKeys:@[@"key1",@"key2"]];
NSDictionary * dict3 = @{@"key1":@"value1",@"key2":@"value2”};//字面量形式
2> 通过key值获取value值
[dict3 objectForKey:@(2)] //key值可以是任意对象
[dict3 valueForKey:@"key2"] //key值只能是NSString
dict3[@"key2"] //字面量形式,建议使用
3> 获取字典中所有的key值
[dict3 allKeys]
4> 获取字典中所有的value值
[dict3 allValues]
原文:http://www.cnblogs.com/Horkly/p/5331170.html
内容总结
以上是互联网集市为您收集整理的iOS开发-OC篇-NSSet,NSNumber全部内容,希望文章能够帮你解决iOS开发-OC篇-NSSet,NSNumber所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。