A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© zlc 中级黑马   /  2015-7-8 11:53  /  608 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

若调用一个方法,在该方法中不需要使用成员变量,那么我们可以该方法声明为类方法。
练习题:
有一个手机的类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. }
复制代码





0 个回复

您需要登录后才可以回帖 登录 | 加入黑马