• Object-C中需要注意的小细节


    --------------------------------------------关于命名-------------------------------------------------

    1.定义的变量名有单词组成,第一个单词首字母要小写,习惯上加一个下划线,表示是成员变量。

    变量声告诉我们这将会可以放入什么样的数据。变量的名字,可以可以随便起,当然能有一定的意义最好,不过有些约定,变量名字必须不包含任何空格或者特殊字符,他们只能是字符,数字和下划线。他们也不能以数字开头。

    2.product name:项目名称是不能用中文的;类名首字母大写,对象名首字母小写。

    3.驼峰命名法:

    a.名称首字母用大写;

    b.动名词,动词首字母用小写,名词用大写。
     
    --------------------------------------------关于方法------------------------------------------------- 
    4.- (void)setHeight:(int)newHeigt;
    OC方法中,一个冒号:对应一个参数。上面的代码age的set方法接收一个int类型的参数,参数名为newHeigt,所以(int)newHeigt
    前面有一个冒号:,要记住:一个冒号:对应一个参数,而且冒号:也是方法名的一部分。上面代码set方法的方法名是setHeight:,而不是setHeight。
     - (void)setHeight:(int)newHeigt andWeight:(int)newWQeight;

    这个方法的方法名是setHeight:andWeight: 当然andWeight是可以省略的,只是为了方便阅读。

    --------------------------------------------关于细节-------------------------------------------------

    5.如下面截图,在第一个里面如果添加元素时写成了@[@(i)],在输出结果时会多了一个括号;在第二个数组里面,如果不遍历输出数组里面的值的话,会出现乱码,因为不能直接输出中文,必须通过遍历数组才能正确输出。

    第一个数组:

     

    第二个数组:

    --------------------------------------------关于拷贝-------------------------------------------------

    6.对于深浅拷贝容易忽视的地方

    // 如果想让一个不可变对象 变成可变对象 可以使用mutableCopy

            

            NSArray *arr = @[@"1",@"2",@"3"];

            NSMutableArray *arrrr = [arr mutableCopy];

            

            [arrrr removeObject:@"2"];

            NSLog(@"%@",arrrr);

    可以输出结果

            

    //        一个可变的对象 进行copy 它将变成一个不可变的对象

            NSMutableString *string = [NSMutableString stringWithString:@"dgadgg"];

            NSMutableString *sr = [string copy];

            [sr appendString:@"dgasdg"];

            NSLog(@"%@",sr);

    这样就出现了错误哦!!!!!

     

    --------------------------------------------关于联想之快捷-------------------------------------------------

    ###利用xcode的自动联想:

    1.自动出现父类的初始化方法:

    只需要输入in 然后回车就可以了

    2.单例的GCD的写法:

    在方法的括号内输入dis可以出现

     3.kvo里面自动调用的那个方法

    输入-(void)然后输入o就可以出现了

     

    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

    在定义了一个对象的全局变量时,在使用它时要考虑呢是否初始化,这点很容易忘记

    在使用swich语句时,如果程序中需要多个语句的同时出现了,不要忘了加一个{};不然会抱错,它只能识别一个 ‘;’。

     

     

    将不断更新。。。。。。。。。。。。。

     

  • 相关阅读:
    centos7使用163 yum源
    Package has no installation candidate解决方法
    HTML 5 canvas相关
    git rebase 使用总结
    Redis不是只有get set那么简单
    k8s---pod常用操作
    Navigator.sendBeacon 无阻塞发送统计数据
    如何在页面关闭或跳转时优雅的发送Ajax请求
    mysql的触发器、视图、索引,受益匪浅
    杂集:centos7中利用logrotate工具切割tomcat日志
  • 原文地址:https://www.cnblogs.com/chenhongios/p/4575001.html
Copyright © 2020-2023  润新知