在公司第一次commit代码时,被同事吐槽了n次,所有的init的方法全部写在了viewDidLoad里面,而self.XX和_XX之间又相互乱用,导致重构代码时费了不少时间。在此对ObjC中self.XX和_XX的区别进行记录一下:
前者调用该类的setter或getter方法,后者直接获取自己的实例变量。在类的m文件里可以直接用实例变量名来访问自身的实例变量,但是setter和getter方法不会被调用。外部想用该类的实例变量需要用getter和setter方法。
在公司第一次commit代码时,被同事吐槽了n次,所有的init的方法全部写在了viewDidLoad里面,而self.XX和_XX之间又相互乱用,导致重构代码时费了不少时间。在此对ObjC中self.XX和_XX的区别进行记录一下:
前者调用该类的setter或getter方法,后者直接获取自己的实例变量。在类的m文件里可以直接用实例变量名来访问自身的实例变量,但是setter和getter方法不会被调用。外部想用该类的实例变量需要用getter和setter方法。