Skip to content

Instantly share code, notes, and snippets.

View hcrub's full-sized avatar

Neil Burchfield hcrub

View GitHub Profile
@hcrub
hcrub / NSRegularExpression+Split.swift
Last active August 25, 2023 15:10
Regular Expression "split" Implementation written for Swift 3.0+.
// NSRegularExpression+Split.swift
//
// Verbatim ObjC->Swift port originating from https://github.com/bendytree/Objective-C-RegEx-Categories
extension NSRegularExpression {
func split(_ str: String) -> [String] {
let range = NSRange(location: 0, length: str.characters.count)
//get locations of matches
@hcrub
hcrub / String+Capitalized.swift
Created April 8, 2017 22:47
Extension for checking if a String is capitalized in Swift 3.0+.
extension String {
func isCapitalized() -> Bool {
guard self.characters.count > 0 else {
return false
}
return (CharacterSet.uppercaseLetters as NSCharacterSet).characterIsMember(String(self.characters.first!).utf16[String.UTF16Index(0)]);
}
}
// Test
@hcrub
hcrub / ImageDataManager.swift
Last active November 22, 2023 21:56
Swift Image Manager Singleton
import UIKit
/// Data Manager error types.
///
/// - noData: No valid data was received.
/// - parsingFailure: The data parsing failed.
/// - endpointFailure: The endpoint failed.
/// - invalidInput: The input was invalid.
/// - anyError: Generic wrapped error.
enum DataError: Error {
@hcrub
hcrub / Optional.swift
Last active May 3, 2019 21:28
Interface for determining and scoping optional Associated Types
/// Interface representing an optionally nil value type.
protocol OptionalType: ExpressibleByNilLiteral {
/// The boxed optional type.
associatedtype Wrapped
}
extension Optional: OptionalType {}
// Example