Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@dniswhite
dniswhite / threading.swift
Created September 12, 2018 15:35
create a separate thread in swift and update UI after work is done
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), {
// do some task(s) on a separate thread from UI
dispatch_async(dispatch_get_main_queue()) {
// update some UI on the UI thread
}
}
@dniswhite
dniswhite / reverseNSString
Created June 17, 2015 16:16
Reverse an NSString
-(NSString *) reverseString: stringToReverse {
NSMutableString *reversedString = [NSMutableString string];
NSInteger charIndex = [stringToReverse length];
while (charIndex > 0) {
charIndex--;
NSRange subStrRange = NSMakeRange(charIndex, 1);
[reversedString appendString:[stringToReverse substringWithRange:subStrRange]];
}
return reversedString
@dniswhite
dniswhite / share.m
Created April 20, 2015 14:15
how to share stuff to social networks with UIActivityViewController
-(void) sharePicture {
NSString *textToShare = @"Check out this picdoodle that I created.";
UIImage * image = [self getPicture];
NSArray *objectsToShare = @[textToShare, image];
UIActivityViewController *activityVC = [[UIActivityViewController alloc] initWithActivityItems:objectsToShare applicationActivities:nil];
NSArray *excludeActivities = @[UIActivityTypeAirDrop,
UIActivityTypePrint,
@dniswhite
dniswhite / delegate.h
Last active May 3, 2017 07:16
simple implementation for a delegate on a view controller
#import <UIKit/UIKit.h>
@class SomeViewController;
@protocol SomeViewControllerDelegate <NSObject>
-(void)delegateMethodName: (SomeViewController *) controller;
@end
@interface SomeViewController : UIViewController
@dniswhite
dniswhite / isValidEmail
Created January 13, 2015 07:03
objective-c check to validate email address
-(BOOL) isValidEmail:(NSString *)checkString
{
BOOL stricterFilter = NO; // Discussion http://blog.logichigh.com/2010/09/02/validating-an-e-mail-address/
NSString *stricterFilterString = @"[A-Z0-9a-z\\._%+-]+@([A-Za-z0-9-]+\\.)+[A-Za-z]{2,4}";
NSString *laxString = @".+@([A-Za-z0-9-]+\\.)+[A-Za-z]{2}[A-Za-z]*";
NSString *emailRegex = stricterFilter ? stricterFilterString : laxString;
NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegex];
return [emailTest evaluateWithObject:checkString];
}
@dniswhite
dniswhite / base64ToImage.js
Last active August 29, 2015 14:01
load base64 into canvas element
function convertBase64toImage(id, image64) {
var canvas = document.createElement(id);
var context = canvas..getContext('2d');
var baseImage = new Image();
baseImage.onload() = function() {
context.drawImage(baseImage, 0, 0);
};
@dniswhite
dniswhite / imageToBase64.js
Last active August 29, 2015 14:01
convert html5 canvas to base64String
function convertImgToBase64(id, outputFormat){
var canvas = document.createElement(id);
var imageDataURL = canvas.toDataURL(outputFormat || 'image/png');
return imageDataURL;
}
@dniswhite
dniswhite / jQuery.plugin.js
Created April 28, 2014 15:24
starting point for a jQuery plugin
(function($) {
// using $.fn.extend allows us to expand on jquery
$.fn.extend({pluginName:function(options){
// save a link to your instance
var plugin = this;
var defaultOptions = {
// add what you know are default values for your options
};
@dniswhite
dniswhite / SingletonManager.h
Created March 19, 2014 23:47
objective c simple singleton
// Created by Dennis White
// Copyright (c) 2014 dniswhite. All rights reserved.
//
#import <Foundation/Foundation.h>
@interface SingletonManager : NSObject
+(id) sharedSingletonManager;
@dniswhite
dniswhite / timer
Created February 13, 2014 16:53
quick timer implementation, also good demo of clojure
function Timer(callback, delay) {
if (!isNaN(delay) && callback) {
if (delay < 1000) delay = 1000;
this.delay = delay;
this.callback = callback;
var running = false;
this.ticker = function (a) {