FoundationExtension
FoundationExtension is common Foundation/UIKit/Cocoa shortcuts and snippets collection.
|
![Build Status](https://travis-ci.org/youknowone/FoundationExtension.svg?branch=master)
This library includes small Cocoa/UIKit extensions. This library does not includes high-level data structure, algorithm or frameworks, but collection of code snippets.
See document on Github
If your compiler is gcc or old clang, add '-force_load' to static library.
git clone git://github.com/youknowone/FoundationExtension.git cd FoundationExtension git submodule update --init
Make your code short! Do not allow evil objc to make your code verbose. This library includes many shortcuts for common work.
Foundation
NSString *URLString = [NSSring stringWithFormat:@"http://"HOST_URL"/api/%@", key]; NSURL *URL = [NSURL URLWithString:URLString];
FoundationExtension
NSURL *URL = [[@"http://"HOST_URL"/api/%@" format:key] URL];
Foundation
FoundationExtension
[[UIDevice currentDevice] MACAddress]
Foundation
FoundationExtension
[obj performSelector:sel withObject:o1 withObject:o2 withObject:o3];
Foundation
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:URL]; [request setHTTPMethod:@"POST"]; [request setHTTPBody:@"field1=value1"]; NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:NULL error:NULL];
FoundationExtension
NSData *data = [NSData dataWithContentsOfURL:URL postBody:@"field1":@"value1"} encoding:NSUTF8StringEncoding];
Foundation
FoundationExtension
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:URL]; [request setHTTPMultiPartFormPostBody:@"filename":data} encoding:NSUTF8StringEncoding]; NSData *data = [NSData dataWithContentOfURLRequest:request];
Foundation
NSMutableArray *newArray = [NSMutableArray array]; for (NSString *s in array) { [newArray addObject:[s substringToIndex:20]]; }
FoundationExtension NSArray
NSArray *newArray = [array arrayByMappingOperation:^(NSString *obj){ [obj substringToIndex:20]; }];
FoundationExtension NSMutableArray
[array map::^(NSString *obj){ [obj substringToIndex:20]; }];
Foundation
NSString *className = [NSString stringWithUTF8String:class_getName(obj.class)];
FoundationExtension
NSString *className = obj.class.name;
Foundation
int value; sscanf(string.UTF8String, "%x", &value);
FoundationExtension
NSInteger value = [string hexadecimalValue];
Foundation
FoundationExtension
NSInteger value = [string integerValueBase:12];
Foundation
unsigned char hashedChars[CC_MD5_DIGEST_LENGTH]; CC_MD5([data bytes], (CC_LONG)[self length], hashedChars); NSMutableString *result = [[NSMutableString alloc] init]; for ( int i = 0; i<CC_MD5_DIGEST_LENGTH; i++ ) { [result appendFormat:@"%02x", *(hashedChars+i)]; }
FoundationExtension
NSString *result = [data digestStringByMD5];
Foundation
FoundationExtension
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:URL]; [request setHTTPPostBody:@"key1":@"value1"} encoding:NSUTF8StringEncoding]; NSData *data = [NSData dataWithContentOfURLRequest:request]; NSDictionary *dictionary = [NSDictionary dictionaryWithData:data];
UIKitExtension
UIColor *color = [UIColor colorWithHTMLExpression:@"#f0f0f0"];
FoundationExtension
[class methodObjectForSelector:@selector(method1)].implementation = [class methodObjectForSelector:@selector(method2)].implementation; // now [obj method1] equals [obj method2]
FoundationExtension