• obj-c部分对象快捷赋值和取值


    NSNumber:

    NSNumber *number = @1234

    旧的方式:

    NSArray *physicsValues = [NSArrayarrayWithObjects:
    
                      [NSNumbernumberWithDouble:6.02214129e23],
    
                      [NSNumbernumberWithDouble:1.3806503e-23],
    
                      [NSNumbernumberWithDouble:6.626068e-34],
    
                      [NSNumbernumberWithDouble:1.097373e-7],
    
                      nil];

    我们可以用以下方式来代替:

    NSArray *numberArray = [NSArray arrayWithObjects: 
    
                                    @6.02129e23        
    
                                    @1.380, 
    
                                    @6.62,
    
                                    @1.097373e-7, 
    
                                    nil]; 
    不过上面的代码可以更加简单:
     
     1  NSArray *numberArray = @[@6.02129e23,  
     2                           @1.380, 
     3                           @6.62,
     4                           @1.097373e-7]; 
     5 
     6 
     7  NSArray *stringArray = @[ @"good",
     8                            @"see"  
     9                            @"xCode", 
    10                            @"what"];

    当然字典也有类似的方法,数组是用@[], 字典则是用@{}

    来看个老的方法:

    1 nameDict = [NSDictionary dictionaryWithObjectsAndKeys:
    2 
    3                   physic, @"Physic",
    4 
    5                   newStrings, @"string",
    6 
    7                   number, @"Numbers",
    8                   nil]; 

    新的方法:

    1 nameDict = @{
    2                 @"Physic" : physic,
    3 
    4                 @"string" : newStrings,
    5 
    6                 @"Numbers" : number
    7 
    8             };
    对于数组,我们想取个值,一般是用[array objectAtindex:0];

    不过现在有更方便快捷的办法了,就是直接使用下标array[0],效果和前面那句是一样的。

    替换数据一样可以用下标

     1 //旧的:
     2 
     3 [valuesArray replaceObjectAtIndex:controller.indexInSection withObject:controller.value];
     4 
     5 [valuesDictionary setObject:valuesArray forKey:controller.sectionName]; 
     6 
     7 //新的:
     8 
     9 valuesArray[controller.indexInSection] = controller.value; 
    10 
    11 valuesDictionary[controller.sectionName] = valuesArray; 

    使用以上那些特性,我们不需要关心ios的版本,这些是编译器的事,所以我们可以尽管放心去做。

  • 相关阅读:
    JQuery上传插件Uploadify使用详解
    jquery easyui datagrid使用参考
    easyui datagrid使用(好)
    灵活运用 SQL SERVER FOR XML PATH
    C# HttpRequest 中文编码问题
    echarts简单使用
    [bootstrap] 修改字体
    css :not 选择器
    [win7] 带网络的安全模式,启动QQEIMPlatform第三方服务
    [mysql] 添加用户,赋予不同的管理权限
  • 原文地址:https://www.cnblogs.com/wqxlcdymqc/p/3214438.html
Copyright © 2020-2023  润新知