因為本人原來是學(xué)習(xí)JAVA出生纹腌,但是后來因為轉(zhuǎn)行做iOS開發(fā)但是OC中的NSString里面的方法特別長本人一般寫字符串都是來查文檔但是我將NSString封裝成簡單的方法房匆。特別是那個去掉前后多余的空格的方法,長得離譜微酬。與之對應(yīng)的別的語言艰亮,拿java 來說孝凌,對應(yīng)的方法名叫 trim离钝。在OC中例如下面代碼:
[self.aa stringByTrimmingCharactersInSet:[NSCharacterSetwhitespaceAndNewlineCharacterSet]];其實我也明白 Objective-C這種長函數(shù)名的好處票编,就是能很清楚地了解當(dāng)前的方法是干什么的。但是一些常用的方法卵渴,簡單的方法名同樣能表達(dá)清楚意思栏妖,并且更容易記住。長方法名的最大的問題是奖恰,代碼寫到一半得查文檔,直接把思路打斷了宛裕,所以我上周末花了一天時間把 Objective-C 的 NSString類給封裝了一下瑟啃,把相應(yīng)的方法調(diào)用都換成與 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到你自己的工程中即可蛹屿。在使用的時候注意我修改了一點,我將查找不存在的返回值設(shè)置成了-1岩榆,這樣和 java 語言保持一致错负,如果你想用NSNotFound 作為查找不存在時的結(jié)果,請修改文件 NSStringWrapper.m 頂部的宏定義:JavaNotFound即可勇边,如下所示:
// 如果不喜歡可以將-1改成NSNotFound
#define JavaNotFound -1
要實現(xiàn)代碼可以私信我喲犹撒!