黑马程序员技术交流社区

标题: oc类方法应用场景 [打印本页]

作者: zlc    时间: 2015-7-8 11:53
标题: oc类方法应用场景
若调用一个方法,在该方法中不需要使用成员变量,那么我们可以该方法声明为类方法。
练习题:
有一个手机的类iPhone,该类中有一个枚举变量_color,kColorBlack黑,kColorWhite黑,kColorTHJ土豪金
(1)请定义一个类方法,实现返真实手机颜色,而非枚举值
  1. typedef enum {kColorWhite,kColorBlack,kColorTHJ} Color;
  2. @interface IPhone : NSObject
  3. {
  4.     @public
  5.     Color _color;
  6. }
  7. +(NSString *)getPhoneColor:(Color) color;
  8. @end
复制代码
(2)实现类方法
  1. @implementation IPhone
  2. +(NSString *)getPhoneColor:(Color) color{
  3.     NSString *colorName;
  4.     //根据color的值作判断
  5.     switch (color) {
  6.         case kColorWhite:
  7.             colorName = @"白色";
  8.             break;
  9.         case kColorBlack:
  10.             colorName = @"黑色";
  11.             break;
  12.         case kColorTHJ:
  13.             colorName = @"土豪金";
  14.             break;
  15.         default:
  16.             break;
  17.     }

  18.     return colorName;
  19. }
  20. @end
复制代码
(3)主函数调用
  1. int main(int argc, const char * argv[]) {
  2.     @autoreleasepool {
  3.         NSString *str = [IPhone getPhoneColor:kColorTHJ];
  4.         NSLog(@"%@",str);
  5.     }
  6.     return 0;
  7. }
复制代码










欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2