Skip to content

Instantly share code, notes, and snippets.

View jungchris's full-sized avatar
🏠
Working from home

Chris Jungmann jungchris

🏠
Working from home
View GitHub Profile
@jungchris
jungchris / ItemModel.swift
Created April 15, 2016 14:31
Swift ItemModel
//
// ItemModel.swift
// HelloToDoSwift
//
// Created by Chris Jungmann on 4/2/16.
// Copyright © 2016 Chris Jungmann. All rights reserved.
//
// http://nshipster.com/nscoding/
import UIKit
// Chris Jungmann Metal Experimentation
// Based on Ray Wenderlich's tutorial
// http://www.raywenderlich.com/77488/ios-8-metal-tutorial-swift-getting-started
//
import UIKit
import Metal
import QuartzCore // had to set to Generic iOS Device for this to import properly
// http://www.raywenderlich.com/forums/viewtopic.php?f=20&t=18159&start=40
@jungchris
jungchris / Tetrahedron.m
Last active February 5, 2016 19:15
Objective-C Method to Create a Four Sided 3-D Polyhedron
// Method to calc a four sided polyhedron
- (void)createTetrahedron {
// constants & vars based on four faces (triangles)
int trianglesAroundZ = 3; // arbitrary choice of z axis
float seedPointAngle = 90.0; // first point P1 vertex angle from x-y plane
float distanceToOrigin = 1.0;
float angleBetweenPoints = 360/trianglesAroundZ;
// determine cone aspects
@jungchris
jungchris / Icosahedron.m
Last active January 26, 2016 23:39
A Gist to Create a 20 Sided Icosphere
/////////////////////////////////////////////////////////////////
// Declare data types
// This data type is used to store information for each vertex
typedef struct {
GLKVector3 positionCoords;
}
SceneVertex;
/////////////////////////////////////////////////////////////////
// Define vertex data for a triangle to use in example
@jungchris
jungchris / CCJFileEngine.m
Created November 10, 2015 19:47
Code snippet to save array data using NSKeyedArchiver
// save array data
- (void)saveArrayData {
NSMutableDictionary *dataDict = [[NSMutableDictionary alloc] initWithCapacity:365];
if (urgeArray != nil) {
[dataDict setObject:urgeArray forKey:@"events"]; // save the urges array
}
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectoryPath = [paths objectAtIndex:0];
@jungchris
jungchris / CCJTextEngine.m
Created October 23, 2015 15:40
Converting ISO8601 date-times to NSDate and vice-versa
#pragma mark - ISO8601 to NSDate & vice-versa
// Convert ISO 8601 standard Zulu date+time to NSDate
+ (NSDate*)convertISO8601ToNSDate:(NSString*)isoString {
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSSZ"];
// Always use this locale when parsing fixed format date strings
NSLocale *posix = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"];
[formatter setLocale:posix];
@jungchris
jungchris / CCJVideoPlayerVC.m
Last active October 7, 2015 20:47
Video Player View Controller Force Rotate Back to Portrait
- (void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
// check if exiting
if (self.isMovingFromParentViewController) {
NSLog(@"isMovingFromParentViewController");
// set public property to indicate this view will not longer be presented
self.isPresented = NO;
// forces a return to portrait orientation
NSNumber *value = [NSNumber numberWithInt:UIInterfaceOrientationPortrait];
[[UIDevice currentDevice] setValue:value forKey:@"orientation"];
@jungchris
jungchris / AppDelegate.m
Last active September 29, 2015 19:36
Control Rotation and Allow for Only One View
// this delegate is executed before each rotation. Here we allow only one view to go to landscape
- (NSUInteger) application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window
{
// get the array of VCs from the nav controller
UINavigationController *navControl = (UINavigationController*)self.window.rootViewController;
NSArray *controllerArray = navControl.viewControllers;
NSUInteger controllerCount = [controllerArray count];
// safety check, make sure we have at least one view controller on the stack
if (controllerCount > 0) {
@jungchris
jungchris / SessionsTableViewController.m
Last active September 17, 2015 18:16
Sessions Table Filtered both by Date and Track
// this is the .h file
// properties set by previous view controllers DatesTableVC or TracksTableVC
@property (assign, nonatomic) NSInteger selectedRow;
@property (nonatomic, strong) NSDate *selectedDate;
@property (nonatomic, strong) NSString *selectedTrack;
// ---------------------------------------------------------------------------------------------
// this is the .m file
@interface SessionTableVC ()
@jungchris
jungchris / TracksTableViewController.m
Last active September 17, 2015 17:37
Filter Method For Tracks
// NOTES: sessionType property from JSON file 'sessions.json' compared to 'tracksString' from 'tracks.json'
//
//
@property (nonatomic, strong) NSString *selectedTrack;
@property (nonatomic, strong) NSArray *filteredArray;
@property (nonatomic, strong) NSArray *sortedArray;
@end
@implementation TracksTableVC