Skip to content

Instantly share code, notes, and snippets.

View lonelytango's full-sized avatar

Zian Chen lonelytango

View GitHub Profile
#import <objc/runtime.h>
@implementation UIViewController (Tracking)
+ (void)load {
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
Class class = [self class];
SEL originalSelector = @selector(viewWillAppear:);
@lonelytango
lonelytango / SwiftArrayExchange.txt
Last active October 17, 2015 05:11
Exchange items in swift array
let listItem = list.removeAtIndex(fromIndex)
list.insert(listItem, atIndex: toIndex)
@lonelytango
lonelytango / Method Swizzling
Created May 8, 2015 16:31
Method Swizzling
#import <objc/runtime.h>
@implementation UIViewController (Tracking)
+ (void)load {
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
Class class = [self class];
SEL originalSelector = @selector(viewWillAppear:);
@lonelytango
lonelytango / Replace sizeWithFont
Last active August 29, 2015 14:20
Method to replace sizeWithFont:constrainedToSize:lineBreakMode:
CGSize maximumLabelSize = CGSizeMake(tableView.width, MAXFLOAT);
NSStringDrawingOptions options = NSStringDrawingTruncatesLastVisibleLine |
NSStringDrawingUsesLineFragmentOrigin;
NSDictionary *attr = @{NSFontAttributeName: [UIFont systemFontOfSize:15]};
CGRect labelBounds = [string boundingRectWithSize:maximumLabelSize
options:options
attributes:attr
context:nil];
@lonelytango
lonelytango / Random String with Count
Created August 7, 2014 17:49
Generate random string with provided number of characters
class func genRandStringLength(len: Int) -> String {
var randomString :String! = String();
for index in 0..<len {
let letters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
let randomIndex = arc4random_uniform(UInt32(countElements(letters)))
let index = Int(randomIndex)
let aChar = letters.characterAtIndex(index);
randomString = randomString.stringByAppendingString(aChar);
@lonelytango
lonelytango / Local File URL
Created August 7, 2014 17:46
Local document URL with provided file name
func localURL(filename: String) -> NSURL {
let urls = NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask)
let url = urls[urls.count-1] as NSURL
return url.URLByAppendingPathComponent(filename)
}
@lonelytango
lonelytango / Binary Search
Created August 20, 2013 18:09
Binary Search
@lonelytango
lonelytango / Merge Sort
Created August 20, 2013 15:21
Merge Sort (NSArray category)
- (NSArray *)mergeSort {
if ([self count] <= 1) {
return self;
}
NSArray *array1, *array2;
//If array count is odd
NSInteger arrayHalfSize = [self count] / 2;
@lonelytango
lonelytango / Insertion Sort
Last active December 21, 2015 08:18
Insertion Sort (NSArray category)
- (NSArray *)insertionSort {
//Do nothing if the array has less than or only 1 object
if ([self count] <= 1) {
return self;
}
NSMutableArray *sortedArray = [self mutableCopy];
for (int j = 1; j < [sortedArray count]; j++) {
CGRect rectFor1PxStroke(CGRect rect) {
return CGRectMake(rect.origin.x + 0.5, rect.origin.y + 0.5, rect.size.width - 1, rect.size.height - 1);
}