Skip to content

Instantly share code, notes, and snippets.

@svara
svara / decimalize_git_hash.bash
Created December 16, 2019 11:03 — forked from hborders/decimalize_git_hash.bash
Print the given git hash + a prepended "1" in decimal form
#!/bin/bash -euo pipefail
if [ ${#} -eq 0 ]
then
# read from STDIN
MAYBE_GIT_HASH=$( cat )
else
MAYBE_GIT_HASH="${1}"
fi
extension NSFetchedResultsController {
private func processChangesWithWillAccessValueForKey(notification: NSNotification) {
guard let _ = self.fetchRequest.predicate, _ = self.fetchRequest.entity else {
return
}
var matchingObjectIDs = self.insertedOrUpdatedObjectIDsMatchingFetchRequestInNotification(notification)
self.managedObjectContext.performBlock({
let registeredObjectIDs = self.managedObjectContext.registeredObjects.map{$0.objectID}
matchingObjectIDs.subtractInPlace(registeredObjectIDs)
for matchingObjectID in matchingObjectIDs {
public extension NSManagedObjectContext {
func addContextDidSaveNotificationObserver(center: NSNotificationCenter, handler: NSNotification -> ()) -> NSObjectProtocol {
return center.addObserverForName(NSManagedObjectContextDidSaveNotification, object: self, queue: nil) { notification in
handler(notification)
}
}
func performMergeChangesFromContextDidSaveNotification(notification: NSNotification) {
self.performBlock {
extension NSFetchedResultsController {
func registerForCommitsToContext(context: NSManagedObjectContext, notificationCenter: NSNotificationCenter? = nil) -> NSObjectProtocol? {
guard self.managedObjectContext != context else {
return nil
}
let center = notificationCenter ?? NSNotificationCenter.defaultCenter()
return center.addObserverForName(NSManagedObjectContextDidSaveNotification, object: context, queue: nil) { [weak self] notification in
guard let strongSelf = self else {
return
}
@svara
svara / SampleViewController.swift
Created April 21, 2016 07:41 — forked from JaviSoto/SampleViewController.swift
Init based Storyboard View Controller Instantiation
final class SampleViewController: StoryboardBackedViewController {
// Unfortunately this must be an IUO var, so that we can set the value after super.init
private var member: Foo!
// Proper dependency injection in a storyboard backed VC!
init(foo: Foo) {
super.init(storyboardIdentifier: "SampleViewControllerIdentifier")
// We have to set the members *after* calling super.init, since it changes the instance of `self`.
self.member = foo
@svara
svara / ocmock-cheatsheet.m
Created April 4, 2016 08:13 — forked from kharmabum/ocmock-cheatsheet.m
OCMock cheatsheet
/*----------------------------------------------------*/
#pragma mark - XCTAsserts
/*----------------------------------------------------*/
XCTAssert(expression, format...);
XCTAssertTrue(expression, format...);
XCTAssertFalse(expression, format...);
XCTAssertEqual(expression1, expression2, format...);
XCTAssertNotEqual(expression1, expression2, format...);
XCTAssertNil(expression, format...);