在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
当使用Objective-C的时候,你总会遇到Foundation 框架中的一些类,这些类包括NSString,NSNumber,NSArray和NSDictionary,这些数据结构都是自解释的。
Objective-C以简明详细的语法而著名,自从oc1.0有一个简单的方式定义一个NSString变量,我们可以这样声明一个字符串变量
NSString *someString=@“Hello Lves";
没有这种语法之前,我们创建一个字符串变量需要先alloc然后init。Literal(简明)语法已经在oc2.0之后扩展到了NSNumber,NSArray和NSDictionary.使用简明语法可以减少代码量和更加容易阅读。
Literal Number
NSNumber变量可以封装一些基本类型变量,像:int,float,bool等,在未使用literal之前,也许你会这样定义
NSNumber *someNumber=[NSNumber numberWithInt:1];
整数1被放进NSNumber中,当然有比这更好的方法,实例:
NSNumber *intNumber=@1; NSNumber *[email protected]; NSNumber *[email protected]; NSNumber *boolNumber=@YES; NSNumber *charNumber=@'a'; 简明语法也可以这样表述: int x=5; float y=6.32f; NSNumber *expressionNumber=@(x*y);
像上边那样定义而不是采用之前的语法因此使用简明语法定义NSNumber变量是十分有用的。
Literal Arrays
数组是经常使用的类型,在2.0之前我们可以这样定义一个数组:
NSArray *animals=[NSArray arrayWithObjects:@“cat”,@“dog”,nil];然而使用Literal语法之后,你只需要这样做:
NSString *dog=[animals objectAtIndex:1]; 使用letaral,你可以这样做: NSString *dog=animals[1];
使用简明语法的时候有一点需要注意:如果数组中有一个对象是空,它会报异常,因为literal语法实在栈上动态的创建和添加对象的,你得到的异常如下:
下面看下面一个例子:
未完待续:转载请注明原文转自:http://blog.csdn.net/wildcatlele
|
请发表评论