OC高效率52:(三)字面量语法

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
//    字面量语法、、、、缩减源代码长度,更易阅读
//    传统创建方式是指alloc  init 方法
    
//    字符串字面量
    NSString *string = @"Objective -2.0";
    
//    字面数值
    NSNumber *intNumber = @1;
    NSNumber *floatNumber1 = @1.01f;
    NSNumber *doubleNumber = @3.14159;
    NSNumber *boolNumber = @YES;
    NSNumber *charNumber = @'j';
    
    int x = 5;
    float y = 6.32f;
    NSNumber *NumberX = @(x * y);
    NSLog(@"%@\n",NumberX);
    
//    字面量数组
//    NSArray *numberArray = [NSArray arrayWithObjects:intNumber,floatNumber1,doubleNumber,boolNumber,charNumber,NumberX, nil];
//    数组元素中有对象为nil,会抛出异常
    NSArray *numberArray = @[intNumber,floatNumber1,doubleNumber,boolNumber,charNumber,NumberX];
    
    NSArray *stringArray = @[string,@"cat",@"dog",@"me"];
    
    string = stringArray[0];
    floatNumber1 = numberArray [1];//取下标
    NSLog(@"%@\n,%@\n",floatNumber1,string);
    
//    字面量字典
//     NSDictionary *personData = [NSDictionary dictionaryWithObjectsAndKeys:@"Zou",@"FirstName",@"Jie",@"LastName",[NSNumber numberWithInt:28],@"age", nil];
//    *********字典大括号**************
    NSDictionary *personData = @{@"FirstName":@"Zou",@"LastName":@"Jie",@"age":@28};
    
    NSString *FirstName = personData[@"FirstName"];
    
    NSLog(@"%@\n",FirstName);
    
//    可变数组与字典  可以通过取下标直接修改元素
    NSMutableArray *mutableArray = [[NSMutableArray alloc]init];
//    数组元素第二个为nil,程序崩溃
//    mutableArray[1] = @"dog";
mutableArray[0]=@"dog";
    NSMutableDictionary *mutableDic = [[NSMutableDictionary alloc]initWithDictionary:personData];
    mutableDic[@"FirstName"] = @"Zhou";
    NSLog(@"%@\n",mutableDic[@"FirstName"]);
    
//    字面量语法创建的对象都是不可变的,可变版本则需要复制一份;
    NSMutableArray *mutable = [@[@1,@2,@3,@4]mutableCopy];
    NSLog(@"%@\n",mutable);
}


你可能感兴趣的:(OC高效率52:(三)字面量语法)