美文网首页
iOS中NSString的封装

iOS中NSString的封装

作者: 蘇哲炫爺 | 来源:发表于2015-12-28 12:01 被阅读409次

    因为本人原来是学习JAVA出生,但是后来因为转行做iOS开发但是OC中的NSString里面的方法特别长本人一般写字符串都是来查文档但是我将NSString封装成简单的方法。特别是那个去掉前后多余的空格的方法,长得离谱。与之对应的别的语言,拿java 来说,对应的方法名叫 trim。在OC中例如下面代码:

    [self.aa stringByTrimmingCharactersInSet:[NSCharacterSetwhitespaceAndNewlineCharacterSet]];其实我也明白 Objective-C这种长函数名的好处,就是能很清楚地了解当前的方法是干什么的。但是一些常用的方法,简单的方法名同样能表达清楚意思,并且更容易记住。长方法名的最大的问题是,代码写到一半得查文档,直接把思路打断了,所以我上周末花了一天时间把 Objective-C 的 NSString类给封装了一下,把相应的方法调用都换成与 Java 类似的了。这样我每次用的时候就不用写那么长又记不住的方法名了。

    主要封装后的方法定义如下:

    @interface NSString (Wrapper)

    - (unichar) charAt:(int)index;

    - (int) compareTo:(NSString*) anotherString;

    - (int) compareToIgnoreCase:(NSString*) str;

    - (BOOL) contains:(NSString*) str;

    - (BOOL) startsWith:(NSString*)prefix;

    - (BOOL) endsWith:(NSString*)suffix;

    - (BOOL) equals:(NSString*) anotherString;

    - (BOOL) equalsIgnoreCase:(NSString*) anotherString;

    - (int) indexOfChar:(unichar)ch;

    - (int) indexOfChar:(unichar)ch fromIndex:(int)index;

    - (NSUInteger) indexOfString:(NSString*)str;

    - (NSUInteger) indexOfString:(NSString*)strfromIndex:(int)index;

    - (int) lastIndexOfChar:(unichar)ch;

    - (int) lastIndexOfChar:(unichar)ch fromIndex:(int)index;

    - (NSUInteger) lastIndexOfString:(NSString*)str;

    - (NSUInteger) lastIndexOfString:(NSString*)strfromIndex:(int)index;

    - (NSString *) substringFromIndex:(int)beginIndextoIndex:(int)endIndex;

    - (NSString *) toLowerCase;

    - (NSString *) toUpperCase;

    - (NSString *) trim;

    - (NSString *) replaceAll:(NSString*)originwith:(NSString*)replacement;

    - (NSArray *) split:(NSString*) separator;

    @end只需要拷贝我的文件:NSStringWrapper.h 和 NSStringWrapper.m到你自己的工程中即可。在使用的时候注意我修改了一点,我将查找不存在的返回值设置成了-1,这样和 java 语言保持一致,如果你想用NSNotFound 作为查找不存在时的结果,请修改文件 NSStringWrapper.m 顶部的宏定义:JavaNotFound即可,如下所示:

    // 如果不喜欢可以将-1改成NSNotFound

    #define JavaNotFound -1

    要实现代码可以私信我哟!

    相关文章

      网友评论

          本文标题:iOS中NSString的封装

          本文链接:https://www.haomeiwen.com/subject/ucwbhttx.html