Skip to content

Instantly share code, notes, and snippets.

View ksm's full-sized avatar

Karol S. Mazur ksm

View GitHub Profile
ksm / UIBarButtonItem+Closure.swift
Last active September 13, 2019 11:30 — forked from BeauNouvelle/UIBarButtonItem Closure 1.swift
Slightly improved version of Beau Nouvelle's UIBarButtonItem closure extension. I hid all the helper classes within the extension and made them private, so as not to pollute the global namespace. Original article:
import Foundation
import UIKit
public extension UIBarButtonItem {
public typealias TargetClosure = (UIBarButtonItem) -> ()
public convenience init(title: String?, style: UIBarButtonItem.Style = .plain, closure: @escaping TargetClosure) {
self.init(title: title, style: style, target: nil, action: nil)
targetClosure = closure
Provides the ability to verify key paths at compile time.
If "keyPath" does not exist, a compile-time error will be generated.
// Verifies "isFinished" exists on "operation".
NSString *key = SQKeyPath(operation, isFinished);
// Verifies "isFinished" exists on self.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
UITableViewCell *cell =
[tableView dequeueReusableCellWithIdentifier:REUSABLE_CELL_ID];
UILabel *label = (UILabel *)[cell viewWithTag:VIEW_TAG];
Model *someModel = [self getModelFromIndexPath:indexPath];
// `takeUntil:` makes the RACObserve() signal complete (and thus breaks the subscription)
// when the cell is recycled.
ksm / .gitignore
Created May 16, 2012 12:01 — forked from kluivers/.gitignore
.gitignore for Xcode projects
# .gitignore in use by Joris Kluivers
# Latest version:
# Xcode