Skip to content

Instantly share code, notes, and snippets.

@MattFoley
MattFoley / gist:267c26b0a1892d4802ce
Created October 2, 2014 17:13
Install rabbitmq 2.7.1
cd $(brew --prefix)
git checkout b3fd8f3 /usr/local/Library/Formula/rabbitmq.rb
brew install rabbitmq
@MattFoley
MattFoley / gist:cf49f4af2155aada6d52
Created July 25, 2014 15:47
Update CDM mapper to handle transformable core data attributes.
- (Class)expectedClassForObject:(NSManagedObject *)object andKey:(id)key
{
NSDictionary *attributes = [[object entity] attributesByName];
NSAttributeDescription *attributeDescription = [attributes valueForKey:key];
NSString *className = [attributeDescription attributeValueClassName];
if (!className) {
const char *className = [[object.entity managedObjectClassName] cStringUsingEncoding:NSUTF8StringEncoding];
const char *propertyName = [key cStringUsingEncoding:NSUTF8StringEncoding];
Class managedObjectClass = objc_getClass(className);
@MattFoley
MattFoley / gist:7376910
Created November 8, 2013 20:10
Checking for OS version or if iPad.
#define isUnderOS7() ([[[UIDevice currentDevice] systemVersion] integerValue] < 7)
#define isPad() (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
@MattFoley
MattFoley / gist:6285495
Created August 20, 2013 18:43
Navigation Controller memory management.
- (void)viewWillDisappear:(BOOL)animated
{
if (self.isMovingFromParentViewController) {
[self cleanForDealloc];
}
}
@MattFoley
MattFoley / gist:5867812
Created June 26, 2013 14:29
Core data weirdness.
self.group = [EVGroup fetchForPredicate:predicate
- forManagedObjectContext:self.group.managedObjectContext];
@MattFoley
MattFoley / gist:5851687
Created June 24, 2013 17:06
Pan direction recognizer.
CGPoint velocity = [panGesture velocityInView:panGesture.view];
if (MAX(ABS(velocity.y), ABS(velocity.x)) == ABS(velocity.y) ) {
//Significant direction is vertical
if (velocity.y > 0) {
//Going Down
NSLog(@"Down");
} else {
NSLog(@"Up");
//Going Up
@MattFoley
MattFoley / gist:5809710
Created June 18, 2013 21:41
Logout wait for synchronous network requests.
dispatch_async(dispatch_get_main_queue(), ^{
[self.dialog setTitleString:@"Logging Out..."];
<Show Dialog>
});
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
#warning This would be better if our Network Utility ran off of the delegate protocol so we could cancel Network Requests.
do {
usleep(NSEC_PER_MSEC);
@MattFoley
MattFoley / gist:5809644
Created June 18, 2013 21:33
Reset Core Data
- (void)resetCoreData
{
NSArray *stores = [self.persistentStoreCoordinator persistentStores];
for(NSPersistentStore *store in stores) {
[self.persistentStoreCoordinator removePersistentStore:store error:nil];
[[NSFileManager defaultManager] removeItemAtPath:store.URL.path error:nil];
}
_persistentStoreCoordinator = nil;
@MattFoley
MattFoley / gist:5621517
Created May 21, 2013 17:19
Number pad Go Button, animation mimicking.
- (void)setupDecimalPadDone
{
self.keyboardShownObserver = [[NSNotificationCenter defaultCenter] addObserverForName:UIKeyboardWillShowNotification
object:nil
queue:[NSOperationQueue mainQueue]
usingBlock:^(NSNotification *note) {
self.goButton = [UIButton buttonWithType:UIButtonTypeCustom];
[[[[UIApplication sharedApplication] windows] lastObject] addSubview:self.goButton];
@MattFoley
MattFoley / gist:5605869
Created May 18, 2013 21:40
Write Console to File iOS
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *fileName =[NSString stringWithFormat:@"%@.log",[NSDate date]];
NSString *logFilePath = [documentsDirectory stringByAppendingPathComponent:fileName];
freopen([logFilePath cStringUsingEncoding:NSASCIIStringEncoding],"a+",stderr);