项目里经常会使用到工具类和分类,同一个功能两种方法都可以使用。比如在工具类(UIViewUtil)
+(void)setRadiusInView:(UIView *)view{ view.cornerRadius = 1; }
分类:UIView+Radius
-(void)setRadius{ self.layer.cornerRadius = 1; }
随手写的,这两个是常用的抽取复用代码的方式,各有什么优缺点,常用的场景,麻烦告知下。
光阴似箭催人老,日月如移越少年。
Category を使用する方が断然便利です。欠点は、拡張メソッド名が競合しないように注意する必要があることです。プレフィックスを追加するのが最善です。また、KVOやNotificationを使用する場合は、拡張メソッドを使用するクラスのdeallocメソッドに、対応するログアウトメソッドを記述する必要があります。これは、Util が Util の dealloc メソッドにログアウトを直接書き込むことができるほど便利ではありません。
Category を使用する方が断然便利です。欠点は、拡張メソッド名が競合しないように注意する必要があることです。プレフィックスを追加するのが最善です。また、KVOやNotificationを使用する場合は、拡張メソッドを使用するクラスのdeallocメソッドに、対応するログアウトメソッドを記述する必要があります。これは、Util が Util の dealloc メソッドにログアウトを直接書き込むことができるほど便利ではありません。