Skip to content

Instantly share code, notes, and snippets.

View quellish's full-sized avatar

Dan quellish

View GitHub Profile
@quellish
quellish / ViewController.swift
Last active October 21, 2015 08:29
ViewController.swift
import UIKit
import CoreData
import AVFoundation
class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource, VPDAODelegateProtocol, NSFetchedResultsControllerDelegate {
@IBOutlet weak var segmentedControl: UISegmentedControl!
@IBOutlet weak var tableView: UITableView!
lazy var managedObjectContext : NSManagedObjectContext? = {
@quellish
quellish / presentError.m
Created November 15, 2014 19:28
presentError
- (void) presentError:(NSError *)error {
if ([[error domain] isEqualToString:NSURLErrorDomain]){
NSURL *failingURL = [[error userInfo] valueForKey:NSURLErrorFailingURLErrorKey];
switch ([error code]){
case NSURLErrorInternationalRoamingOff:
case NSURLErrorCallIsActive:
NSURLErrorDataNotAllowed:
case NSURLErrorNotConnectedToInternet:
[self beginObservingReachabilityStatusForHost:[failingURL host]];
@quellish
quellish / beginObservingReachabilityStatusForHost.m
Created November 15, 2014 19:27
beginObservingReachabilityStatusForHost:
- (void) beginObservingReachabilityStatusForHost:(NSString *)host {
SCNetworkReachabilityRef reachabilityRef = NULL;
void (^callbackBlock)(SCNetworkReachabilityFlags) = ^(SCNetworkReachabilityFlags flags) {
BOOL reachable = (flags & kSCNetworkReachabilityFlagsReachable) != 0;
[[NSOperationQueue mainQueue] addOperationWithBlock:^{
[self host:host didBecomeReachable:reachable];
}];
};
@quellish
quellish / didBecomeReachable.m
Created November 15, 2014 19:25
host:didBecomeReachable:
- (void) host:(NSString *)__unused host didBecomeReachable:(BOOL)reachable {
__strong UIButton *button = [self connectButton];
// Enable the button when we are notified the host became reachable
[button setEnabled:reachable];
if (reachable){
[self endObservingReachabilityStatusForHost:nil];
}
}
@quellish
quellish / xcci.md
Created October 28, 2014 03:03
Xcode CI script variables

Variable

Type

@quellish
quellish / property.m
Created September 29, 2014 07:46
Managed object property access
[[managedObject managedObjectContext] performBlock:^{
NSString *value = [managedObject someValue];
[NSOperationQueue mainQueue] addOperationWithBlock:^{
[[self label] setText:value];
}];
}];
@quellish
quellish / saveManagedObjectContext.m
Created September 29, 2014 07:45
Recursive save of managed object context
- (void) saveManagedObjectContext:(NSManagedObjectContext *)managedObjectContext withCompletion::(void (^)(BOOL, NSError *))completio{
managedObjectContext performBlock:^{
NSError *error = nil;
if (![managedObjectContext save:&error]){
completion(NO, error);
} else {
if ([managedObjectContext parentContext] != nil){
[self saveManagedObjectContext:[managedObjectContext parentContext] withCompletion:completion];
} else {
@quellish
quellish / save.m
Created September 29, 2014 07:43
Save
[managedObjectContext performBlock:^{
NSError *error = nil;
if (![managedObjectContext save:&error]){
[self handleError:error];
}
}];
@quellish
quellish / allPeopleInManagedObjectContext.m
Created September 29, 2014 07:42
allPeopleInManagedObjectContext
- (void) allPeopleInManagedObjectContext:(NSManagedObjectContext *)managedObjectContext withCompletion:(void (^)(NSArray*, NSError*))completion {
[managedObjectContext performBlock:^{
NSError *error = nil;
NSArray *results = nil;
NSFetchRequest *fetchRequest = nil;
NSPredicate *predicate = nil;
NSEntityDescription *entity = nil;
fetchRequest = [[NSFetchRequest alloc] init];
entity = [NSEntityDescription entityForName:@"Person" inManagedObjectContext:context];
@quellish
quellish / analyzer_checkers.txt
Created September 27, 2014 18:36
How to get the list of available clang analyzer checkers.
[cygnus:~/Desktop/SampleApp/SampleApp] quellish% clang -cc1 -analyzer-checker-help
OVERVIEW: Clang Static Analyzer Checkers List
USAGE: -analyzer-checker <CHECKER or PACKAGE,...>
CHECKERS:
alpha.core.BoolAssignment Warn about assigning non-{0,1} values to Boolean variables
alpha.core.CastSize Check when casting a malloc'ed type T, whether the size is a multiple of the size of T
alpha.core.CastToStruct Check for cast from non-struct pointer to struct pointer
alpha.core.FixedAddr Check for assignment of a fixed address to a pointer