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[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的版本,这些是编译器的事,所以我们可以尽管放心去做。