zoukankan      html  css  js  c++  java
  • 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的版本,这些是编译器的事,所以我们可以尽管放心去做。

  • 相关阅读:
    排它锁、意向排它锁
    8.3锁定
    Cocos2d-x游戏引擎实战开发炸弹超人项目教程 全套下载 1至6课
    springboot加载yml配置文件的no字段自动转义问题
    动态规划——LeetCode152乘积最大子序列
    动态规划——LeetCode279完全平方数
    动态规划——LeetCode221最大正方形
    动态规划——LeetCode322零钱兑换(最少硬币数量)
    动态规划——LeetCode264丑数 II
    动态规划——LeetCode213打家劫舍 II
  • 原文地址:https://www.cnblogs.com/wqxlcdymqc/p/3214438.html
Copyright © 2011-2022 走看看