美文网首页
effect_objectC的学习

effect_objectC的学习

作者: ios小菜 | 来源:发表于2016-08-05 14:26 被阅读57次

    effect_objectC

    第三条

    尽量使用@class先告诉编译器,再在.m文件中导入@import 某个文件

    第四条

    多用字面量语法,少用与之等价的方法

    例子:

    NSNumber*number=[NSNumbernumberWithInt:2];// error

    NSNumber*number2=@2;// right

    intx=2;

    floaty=5.23;

    NSNumber*number3=@(x*y);

    数组字面值

    格式:

    需要用[]来初始化

    NSArray*array=[[NSArrayalloc]initWithObjects:@"dog",@"cat",@"mouse",nil];

    NSArray*array1=@[@"dog",@"cat",@"mouse”];

    注意的是:创建字面值数组时,如果括号中对象有nil的对象,则会抛出异常。如果是第一种方法则不回,但是会出现一个更大的问题

    idobject1=@"dog";

    idobject2=nil;

    idobject3=@"cat";

    NSArray*array=[[NSArrayalloc]initWithObjects:object1,object2,object3,nil];/**只有一个dog,因为object2是nil,结束了数组的创建*/

    NSArray*array1=@[object1,object2,object3];

    //抛出异常

    总结: 所以使用字面值的方法创建会更安全

    字面值创建字典

    格式:

    字典需要用{}来初始化字面值

    NSDictionary*dict=[[NSDictionaryalloc]initWithObjectsAndKeys:@"Matt",@"fistname",[NSNumbernumberWithInt:28],@"age",

    nil];

    NSDictionary*dict2=@{@"firstname":@"Matt",@"age":@28};

    总结:局限性:使用字面值创建出来的字符串,数组,字典对象都是不可变的。想要变成可变版本,需要复制一份。

    NSMutableArray*mutabbleArray=[@[@1,@2,@3]mutableCopy];

    要点:

    1.应该通过下标操作来访问数组的下标或字典中的键所对应的元素

    2.使用字面值创建数组或者字典时,若值有Nil时,会抛出异常。

    第四条

    使用常量来代替#define 宏

    在实现文件中使用static const来定义”只在编译单元内可见的常量"

    相关文章

      网友评论

          本文标题:effect_objectC的学习

          本文链接:https://www.haomeiwen.com/subject/crihsttx.html