一般来说,Extension用来给Class增加私有属性和方法,写在 Class 的.m文件.但是Extension不是必须要写在.m文件,你可以写在任何地方,只要在 @implementation 前定义就可以.所以我们可以利用这个特性实现属性隐藏. Case: 模块内部需要访问某属性,模块外需隐藏.这种情况经常会遇到.例如对于某一公司来讲,每个员工都需要员工ID来唯一标识,但是员工作为自然人,在其他地方,别人不需要知道这个ID.所以对于该员工的ID,在公司内部需要访问,在外部需要隐藏. 定义…