何时使用Objective-C类方法与C函数

时间:2014-02-13 19:25:51

标签: objective-c c function objective-c-category

我的问题

我正在努力想出一个合适的模式。让我们想象一下,我想创建一个我可以提供的颜色和大小的代码,并接收一个充满该颜色的大小的UIImage。我可以用很多种方式来做,但我认为这两种方式最常见。

  • Objective-C类方法

我可以使用像

这样的类方法创建一个UIImage类别
+ (UIImage *)bch_imageWithColor:(UIColor *)color size:(CGSize)size;
  • C函数

我可以制作一个简单的C函数

UIImage *BCHImageWithColorAndSize(UIColor *color, CGSize size);

当然,两者都可以完美地运作。

现在我知道这两种方法之间的主要区别,但我不能再指出这些差异,也不支持任何方法。

Apple的模式

我试图在Apple的框架中查找模式,然后更加困惑。我们有例如:

NSString *NSStringFromCGPoint(CGPoint point);

CGPoint CGPointFromString(NSString *string);

这是功能。但是再次有NSValue的类和实例方法:

+ (NSValue *)valueWithCGPoint:(CGPoint)point;

- (CGPoint)CGPointValue;

我非常感谢您的任何见解,想法或想法。

0 个答案:

没有答案