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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© wowthe1st 中级黑马   /  2015-7-31 12:17  /  376 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

适合java基础同学迅速了解OC
  1. #import <Foundation/Foundation.h>

  2. int compareCharIgnoreCase(char c1,char c2)
  3. {       
  4.         int flag = 0;
  5.         if(c1==c2) flag=1;
  6.         else if (c1>='A'&&c1<='Z')
  7.                 flag=(c1+'a'-'A'==c2);
  8.         else if(c1>='a'&&c1<='z')
  9.                 flag=(c1+'A'-'a'==c2);
  10.        
  11.         return flag;
  12. }

  13. @interface NSString (Equal) // 利用分类给系统自带类添加方法,()中的分类名一般用模块名称


  14. -(BOOL)equalsIgnoreCase:(NSString *)str;

  15. @end

  16. @implementation NSString (Equal)


  17. -(BOOL)equalsIgnoreCase:(NSString *)str
  18. {
  19.         BOOL b = 0;
  20.         int selfLength=[self length];
  21.         int strLength=[str length];
  22.         int i;
  23.         unichar c1,c2;
  24.         if(b=(selfLength==strLength))
  25.         {
  26.                 for(i=0;i<selfLength&&b;i++)
  27.                 {
  28.                         c1=[self characterAtIndex:i];
  29.                         c2=[str characterAtIndex:i];
  30.                         b=compareCharIgnoreCase(c1,c2);
  31.                 }
  32.         }
  33.        
  34.         return b;
  35. }
  36. @end




  37. int main()
  38. {
  39.         NSString *str = @"1231EA21ee1123";
  40.         NSLog(@"%d",[str equalsIgnoreCase:@"1231ea21EE1123"]);
  41.        
  42.         return 0 ;
  43. }


  44. /*

  45. category:(不改变类的情况下,为类新增方法)
  46.         1>分类只能增加方法(对象方法和类方法)
  47.         2>分类可以访问类中成员
  48.         3>调用方法优先查找分类,即分类方法跟类中相同时,会覆盖类中方法
  49.         4>多个分类中都实现了相同的方法,按照编译顺序,后编译的会覆盖先编译的分类中的方法
  50.        
  51. */
复制代码



1 个回复

倒序浏览
嗯 对于我来说这写都是很宝贵的资源
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马