美文网首页
零碎知识点

零碎知识点

作者: 段沛Dp_ | 来源:发表于2015-10-22 16:18 被阅读32次

    1. LogIn 和login

    LogIn 表示动词,Login 表示名词.


    2. - (id)initUserModelWithUSerName:(NSString *)name withAge:(int)age; ***

    首先, 应该使用WithAge代替age    注意 也不能用andAge  因为有的时候   and表示方法执行了两个相对独立的操作. 此时,age 也应该使用NSInterger. 


    3. weak和assign

    1.代理使用weak  因为有可能出现循环引用的现象.

    2.自定义IBOutlet控件属性一般也使用weak.

    3.assign 只执行"纯量类型" (CGFloat NSInteger...)的简单赋值操作. assign可以用非OC对象   weak只能用OC对象


    4.copy

    NSString\ NSArray\ NSDictionary\ block  等经常使用copy 

    copy 是拷贝的意思 , 方法并不保留新值.  用NSString来说, 当传递给设置方法的新值是NSMutableString时,因为NSMutableString是子类,所以存在字符串的值在不知情的情况下被修改.此时需要使用copy来保证"不可变" .

    故当要实现的属性是可变的,就要用到copy


    5. 成员变量 = 实例变量 = ivar


    6. 全局常量写法: 创建一个GlobalConst文件.里面存放全局变量

    ---GlobeConst.h

    extern NSString *const nameKey = @"name";

    ---GlobeConst.m

    NSString *const nameKey = @"name";


    7.block 

    block:  本质是指向结构体的指针

    编译器将block的内部代码生成对应函数

    查看怎么将OC转换C++  命令行: clang -rewrite-objc XXX.m


    8. 枚举

    枚举可以表示状态,选项,状态码.

    凡是需要以按位或操作来组合的枚举都应该使用NS_OPTIONS定义

    如果枚举不需要互相组合,则使用NS_ENUM定义




    相关文章

      网友评论

          本文标题:零碎知识点

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