Get it from the App Store.
In XCode's Preferences > Downloads you can install command line tools.
require "heroku" | |
client = Heroku::Client.new("username", "password") | |
# Update the number of dynos used by the application | |
# app_name = the name of the application | |
# x = the integer number of dynos you want to set, e.g. 3 | |
client.set_dynos("app_name", x) | |
# Update the number of workers used by the application |
// NSNotificationCenter+MainThread.h | |
@interface NSNotificationCenter (MainThread) | |
- (void)postNotificationOnMainThread:(NSNotification *)notification; | |
- (void)postNotificationOnMainThreadName:(NSString *)aName object:(id)anObject; | |
- (void)postNotificationOnMainThreadName:(NSString *)aName object:(id)anObject userInfo:(NSDictionary *)aUserInfo; | |
@end |
QPickOneView* myView = nil; | |
NSArray* nibViews = [[NSBundle mainBundle] loadNibNamed:@"QPickOneView" owner:self options:nil]; | |
for (id currentObject in nibViews) { | |
if ([currentObject isKindOfClass:[QPickOneView class]]) { | |
myView = (QPickOneView *) currentObject; | |
break; | |
} | |
} |
// Initialize namespaces --------------------- | |
if (!window.mm) { | |
mm = {}; | |
} | |
// avoid window. use this if you "think" you are in root closure. makes encapsulation possible and code executable without DOM (like node...) | |
if (!this.mm) { | |
mm = {}; | |
} | |
// Define callback blocks | |
// Success | |
__block typeof (self) weakSelf = self; | |
void (^successBlock)(NSURLRequest *, NSHTTPURLResponse *, UIImage *) = | |
^(NSURLRequest *request, NSHTTPURLResponse *response, UIImage *image) { | |
// Assigning an image that has not yet been decoded leads | |
// to stuttering in UI animations | |
// Forcing image decoding on a background thread fixes this | |
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_LOW, 0), ^(void) { |
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath { | |
// setup initial state (e.g. before animation) | |
cell.layer.shadowColor = [[UIColor blackColor] CGColor]; | |
cell.layer.shadowOffset = CGSizeMake(10, 10); | |
cell.alpha = 0; | |
cell.layer.transform = CATransform3DMakeScale(0.5, 0.5, 0.5); | |
cell.layer.anchorPoint = CGPointMake(0, 0.5); | |
// define final state (e.g. after animation) & commit animation | |
[UIView beginAnimations:@"scaleTableViewCellAnimationID" context:NULL]; |
CADisplayLink *displayLink = [CADisplayLink displayLinkWithTarget:self selector:@selector(refresh:)]; | |
[displayLink addToRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode]; | |
counter = 0; | |
previousTimestamp = displayLink.timestamp; | |
- (void)refresh:(CADisplayLink *)displayLink { | |
counter++; | |
if (counter > 60) { |
__weak __typeof__(self) weakSelf = self; | |
// some api that takes blocks, when you give the block do | |
^{ | |
__strong __typeof__(weakSelf) self = weakSelf; | |
} |
// Taken from the commercial iOS PDF framework http://pspdfkit.com. | |
// Copyright (c) 2013 Peter Steinberger. All rights reserved. | |
// Licensed under MIT (http://opensource.org/licenses/MIT) | |
// | |
// You should only use this in debug builds. It doesn't use private API, but I wouldn't ship it. | |
#import <objc/runtime.h> | |
#import <objc/message.h> | |
// Compile-time selector checks. |