NSString durch categories um lastIndexOf erweitern

Posted by admin | Development,Objective-C | Wednesday 9 September 2009 21:05

In anderen Programmiersprachen ist die Funktion lastIndexOf zum suchen nach dem Index eines Strings vom Ende an bekannt.

Objective-C bietet uns mit

- (NSRange)rangeOfString:(NSString *)aString options:(NSStringCompareOptions)mask

die gleiche Funktionalität.

Durch sogenannte “categories” können wir NSString selber um eine einfacher lesbare lastIndexOf Funktion erweitern.

Datei: NSString+lastIndexOf.h

@interface NSString (lastIndexOf)
 
- (int) lastIndexOf:(NSString*)aString;
 
@end

Datei: NSString+lastIndexOf.m

#import "NSString+lastIndexOf.h"
 
@implementation NSString (lastIndexOf)
 
- (int) lastIndexOf:(NSString*)aString {
	NSRange r = [self rangeOfString:aString options:NSBackwardsSearch];
 
	if(r.location == NSNotFound) {
		return -1;
	} else {
		return r.location;
	}
}
 
@end

Um die neue Funktion nutzen zu können muss nur die Header-Datei “NSString+lastIndexOf.h” importiert werden:

#import "NSString+lastIndexOf.h"
 
int x = [aString lastIndexOf:@"x"];
Share/Save/Bookmark

No Comments »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a comment