AES string encryption in Objective-C

This line near the top says you’re adding AES functionality to NSMutableData: @implementation NSMutableData(AES) In Objective-C, this is called a category; categories let you extend an existing class. This code would typically go in a file named NSMutableData-AES.m. Create a header file too, NSMutableData-AES.h. It should contain: @interface NSMutableData(AES) – (NSMutableData*) EncryptAES: (NSString *) key; … Read more

Trim spaces from end of a NSString

Taken from this answer here: – (NSString *)stringByTrimmingTrailingCharactersInSet:(NSCharacterSet *)characterSet { NSRange rangeOfLastWantedCharacter = [self rangeOfCharacterFromSet:[characterSet invertedSet] options:NSBackwardsSearch]; if (rangeOfLastWantedCharacter.location == NSNotFound) { return @””; } return [self substringToIndex:rangeOfLastWantedCharacter.location+1]; // non-inclusive }

NSRange to Range

As of Swift 4 (Xcode 9), the Swift standard library provides methods to convert between Swift string ranges (Range<String.Index>) and NSString ranges (NSRange). Example: let str = “a👿b🇩🇪c” let r1 = str.range(of: “🇩🇪”)! // String range to NSRange: let n1 = NSRange(r1, in: str) print((str as NSString).substring(with: n1)) // 🇩🇪 // NSRange back to String … Read more