#import <Foundation/Foundation.h>
#import "Person.h"
int main(int argc, const char * argv[]) {
@autoreleasepool {
//NSArray只能保存对象类型的数据,无法保存基本类型数据
//如果想要保存基本类型的数据,需要将基本类型的数据转换为对象类型,使用NSNumber或者NSValue类
NSString *name = @"abcdefghijk";
char gender = 'f';
int age = 18;
BOOL b =YES;
float score = 98.4;
//将非对象类型转换为对象类型
//将基本类型封装为对象类型
NSNumber *age1 = [[NSNumber alloc] initWithInt:age];
NSNumber *gender1 = [[NSNumber alloc]initWithChar:gender];
NSNumber *b1 = @(b);
NSNumber *score1 =[[NSNumber alloc] initWithFloat:score];
NSNumber *score2 = @(score);
//存入可变数组并打印
NSMutableArray *mutablearray1 = [NSMutableArray arrayWithObjects:name,gender1,age1,b1, score1,score2, nil];
NSLog(@"%@", mutablearray1);
//取出基本类型
NSNumber * agenum1 = mutablearray1[2];
int age2 = [agenum1 intValue];
age2 +=1;
//NSNumber无法包装结构体变量,需要使用NSValue类的方法 例:发送NSValue消息
NSRange range = NSMakeRange(10, 20);
NSValue *range1 = [NSValue valueWithRange:range];//初始化对象成value
NSLog(@"range1 = %@", range1);
int age3 = 12;
NSNumber *age4 = [[NSNumber alloc] initWithInt:age3];
//怎么转换成NSRange基础型的值,,,以便下面取 “.()”值。
NSRange r = [range1 rangeValue];
//r为NSRange基础类型的数组
NSLog(@"%ld %ld", r.location, r.length);
//MSDictionary:字典类
//字典存储时无需的
//字典的元素都是以键值对的形式讯在
//获取字典中的值,需要通过键值对, 不可以通过下标
//字典的键值KEY不得从复
NSDictionary *dict = @{
@"key1": @"value1",
@"key2": @"value2",
@"key3": @"value3"
};
NSLog(@"%@",dict[@"key2"]);
//使用初始化方法创建字典(所有的Value的数组和所有的Key的数组需要一直
NSDictionary * dict2 = [[NSDictionary alloc]initWithObjects:@[@"a",@"b"] forKeys:@[@"1",@"2"]];
//把所有键值对放在一个函数中,值在前,键在后
NSDictionary *dict3 = [[NSDictionary alloc] initWithObjectsAndKeys:@"a",@"b"@"c"@"d", nil];
//获取键值对的值
dict3[@"b"];
[dict3 objectForKey:@"b"];
NSLog(@"%@",[dict3 allKeys]);
//1.创建对象
Person *p1 = [Person personWithName:@"前1" age:11];
Person *p2 = [Person personWithName:@"前2" age:22];
Person *p3 = [Person personWithName:@"前3" age:33];
Person *p4 = [Person personWithName:@"前4" age:44];
//2.创建空的可变字典
NSMutableDictionary *mutableDict = [NSMutableDictionary dictionary];
//3.添加键对值
[mutableDict setObject:p1 forKey:@"wo"];
[mutableDict setObject:p2 forKey:@"ni"];
[mutableDict setObject:p3 forKey:@"ta"];
[mutableDict setObject:p4 forKey:@"temen"];
NSLog(@"%@",mutableDict);
//setObject:forKey:特定情况具有特定含义
Person *p5 = [Person personWithName:@"daxiaoxiao" age:88];
[mutableDict setObject:p5 forKey:@"ta"];
NSLog(@"%@",mutableDict);
//删除
//将参数字典的所有元素 覆盖掉原字典的所有元素
[mutableDict setDictionary:@{
@"key":@"value"
}];
NSLog(@"%@",mutableDict);
NSMutableDictionary *numbersDict = [NSMutableDictionary dictionaryWithObjects:@[@"value1", @"value2"]forKeys:@[@"key1",@"key2"]];
NSLog(@"%@",numbersDict);
//循环打印
for (int i = 0; i < numbersDict.count; i++) {
//获取一个key
NSString *key = numbersDict.allKeys[i];//keys数组allvalues数组
//通过key获取value
NSString *value = numbersDict[key];
NSLog(@"key:%@ value :%@ ", key, value);
}
//想打印出来
//key:key1 value:value1
//key:key2 value:value2
// NSSet
//使用便利构造器创建集合
NSSet *set1 = [NSSet setWithObjects:@"abc",@"cad", @"cba", nil];
//使用数组创建集合
NSArray *array1 = @[@"123", @"321", @"234"];
NSSet *set2 = [NSSet setWithArray:array1];
NSLog(@"%@",set2);
//打印集合中元素个数
NSUInteger b2 = [set2 count];
//创建空的可变集合
//NSMutableSet *set3 = NSMutable
//添加两个不同元素
//删除元素
//通过几何计算重复元素个数
NSArray *ages = @[@10,@23,@34,@5,@2,@23, @(32.2)];
#import "Person.h"
int main(int argc, const char * argv[]) {
@autoreleasepool {
//NSArray只能保存对象类型的数据,无法保存基本类型数据
//如果想要保存基本类型的数据,需要将基本类型的数据转换为对象类型,使用NSNumber或者NSValue类
NSString *name = @"abcdefghijk";
char gender = 'f';
int age = 18;
BOOL b =YES;
float score = 98.4;
//将非对象类型转换为对象类型
//将基本类型封装为对象类型
NSNumber *age1 = [[NSNumber alloc] initWithInt:age];
NSNumber *gender1 = [[NSNumber alloc]initWithChar:gender];
NSNumber *b1 = @(b);
NSNumber *score1 =[[NSNumber alloc] initWithFloat:score];
NSNumber *score2 = @(score);
//存入可变数组并打印
NSMutableArray *mutablearray1 = [NSMutableArray arrayWithObjects:name,gender1,age1,b1, score1,score2, nil];
NSLog(@"%@", mutablearray1);
//取出基本类型
NSNumber * agenum1 = mutablearray1[2];
int age2 = [agenum1 intValue];
age2 +=1;
//NSNumber无法包装结构体变量,需要使用NSValue类的方法 例:发送NSValue消息
NSRange range = NSMakeRange(10, 20);
NSValue *range1 = [NSValue valueWithRange:range];//初始化对象成value
NSLog(@"range1 = %@", range1);
int age3 = 12;
NSNumber *age4 = [[NSNumber alloc] initWithInt:age3];
//怎么转换成NSRange基础型的值,,,以便下面取 “.()”值。
NSRange r = [range1 rangeValue];
//r为NSRange基础类型的数组
NSLog(@"%ld %ld", r.location, r.length);
//MSDictionary:字典类
//字典存储时无需的
//字典的元素都是以键值对的形式讯在
//获取字典中的值,需要通过键值对, 不可以通过下标
//字典的键值KEY不得从复
NSDictionary *dict = @{
@"key1": @"value1",
@"key2": @"value2",
@"key3": @"value3"
};
NSLog(@"%@",dict[@"key2"]);
//使用初始化方法创建字典(所有的Value的数组和所有的Key的数组需要一直
NSDictionary * dict2 = [[NSDictionary alloc]initWithObjects:@[@"a",@"b"] forKeys:@[@"1",@"2"]];
//把所有键值对放在一个函数中,值在前,键在后
NSDictionary *dict3 = [[NSDictionary alloc] initWithObjectsAndKeys:@"a",@"b"@"c"@"d", nil];
//获取键值对的值
dict3[@"b"];
[dict3 objectForKey:@"b"];
NSLog(@"%@",[dict3 allKeys]);
//1.创建对象
Person *p1 = [Person personWithName:@"前1" age:11];
Person *p2 = [Person personWithName:@"前2" age:22];
Person *p3 = [Person personWithName:@"前3" age:33];
Person *p4 = [Person personWithName:@"前4" age:44];
//2.创建空的可变字典
NSMutableDictionary *mutableDict = [NSMutableDictionary dictionary];
//3.添加键对值
[mutableDict setObject:p1 forKey:@"wo"];
[mutableDict setObject:p2 forKey:@"ni"];
[mutableDict setObject:p3 forKey:@"ta"];
[mutableDict setObject:p4 forKey:@"temen"];
NSLog(@"%@",mutableDict);
//setObject:forKey:特定情况具有特定含义
Person *p5 = [Person personWithName:@"daxiaoxiao" age:88];
[mutableDict setObject:p5 forKey:@"ta"];
NSLog(@"%@",mutableDict);
//删除
//将参数字典的所有元素 覆盖掉原字典的所有元素
[mutableDict setDictionary:@{
@"key":@"value"
}];
NSLog(@"%@",mutableDict);
NSMutableDictionary *numbersDict = [NSMutableDictionary dictionaryWithObjects:@[@"value1", @"value2"]forKeys:@[@"key1",@"key2"]];
NSLog(@"%@",numbersDict);
//循环打印
for (int i = 0; i < numbersDict.count; i++) {
//获取一个key
NSString *key = numbersDict.allKeys[i];//keys数组allvalues数组
//通过key获取value
NSString *value = numbersDict[key];
NSLog(@"key:%@ value :%@ ", key, value);
}
//想打印出来
//key:key1 value:value1
//key:key2 value:value2
// NSSet
//使用便利构造器创建集合
NSSet *set1 = [NSSet setWithObjects:@"abc",@"cad", @"cba", nil];
//使用数组创建集合
NSArray *array1 = @[@"123", @"321", @"234"];
NSSet *set2 = [NSSet setWithArray:array1];
NSLog(@"%@",set2);
//打印集合中元素个数
NSUInteger b2 = [set2 count];
//创建空的可变集合
//NSMutableSet *set3 = NSMutable
//添加两个不同元素
//删除元素
//通过几何计算重复元素个数
NSArray *ages = @[@10,@23,@34,@5,@2,@23, @(32.2)];