零碎知识点

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 


零碎知识点_第1张图片

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定义




你可能感兴趣的:(零碎知识点)