Skip to content

Instantly share code, notes, and snippets.

View rjstelling's full-sized avatar
🕶️
Encrypting Bits

Richard Stelling rjstelling

🕶️
Encrypting Bits
View GitHub Profile

iOS Device Model List

iPhone

  • iPhone1,1 — iPhone
  • iPhone1,2 — iPhone 3G
  • iPhone2,1 — iPhone 3GS
  • iPhone3,1 — iPhone 4 (GSM)
  • iPhone3,3 — iPhone 4 (CDMA/Verizon/Sprint)
  • iPhone4,1 — iPhone 4S
  • iPhone5,1 — iPhone 5 (model A1428, AT&T/Canada)
@rjstelling
rjstelling / TwoLabelButton.swift
Created May 31, 2017 13:58
A simple Auto Layout solution for a UIButton with 2 labels.
class CustomButton: UIButton {
internal required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}
internal override init(frame: CGRect) {
super.init(frame: frame)
}
}
@rjstelling
rjstelling / Data+FNV32.swift
Created May 4, 2018 17:20
Data Extension for Fowler–Noll–Vo hash function
import Foundation
extension Data {
public var fnv32Hash: UInt32 {
return UInt32( self.reduce(0x811c9dc5) { 0x00000000FFFFFFFF & ($0 * 16777619) ^ UInt64($1) } )
}
public func fnv32HashString() -> String {
return String(format: "%08x", self.fnv32Hash)
@rjstelling
rjstelling / Suggestions
Created December 9, 2016 16:24
When Host.swift was started, it was before we new too much about Swift 3.0, now it has arrived we have a problem... NSHost has been renamed Host when imported into Swift 3.x. We don't want to be a bad Swift citizen and iOS still doesn't have (NS)Host. so we need to rename the project. At this point I am open to any suggestions... the simpler the…
When Host.swift was started, it was before we new too much about Swift 3.0, now it has arrived we have a problem...
NSHost has been renamed Host when imported into Swift 3.x. We don't want to be a bad Swift citizen and iOS still doesn't have (NS)Host. so we need to rename the project.
At this point I am open to any suggestions... the simpler the better IMHO.
Add your suggestions here:
@rjstelling
rjstelling / SwiftCastingBug.swift
Created June 15, 2016 15:09
A Playground that demos a bug where a cast using `as` causes a, "fatal error: can't unsafeBitCast between types of different sizes".
//: Playground - Demos a bug where a cast using `as` causes a, "fatal error: can't unsafeBitCast between types of different sizes"
import UIKit
protocol Thingable {
func getStuff()
}
enum MyList: Thingable {
case One
1. No coverage of Stock price... ever.
2. No coverage of carrier contracts or offers... Unless John Legere joins the Apple board I don't want to read his name.
3. Never publish patents as news.
4. I dont care about US only Apple Pay roll outs.
5. Do not commission renderings of UI designs of unreleased products.
6. No wish lists.
//
// TRVViewController.m
// AttString
//
// Created by Richard Stelling on 02/05/2013.
// Copyright (c) 2013 Richard Stelling. All rights reserved.
//
#import "TRVViewController.h"
@rjstelling
rjstelling / SuccinctObjCMacros.h
Last active December 15, 2015 04:50
Macros to make Objective-C more C-like. Feel free to fix bugs or add new macros.
// Make a [UI]ViewController by just passing the name, the .xib needs to have the same name as the Class howerver (Xcode default)
#define MakeViewController(class_and_nib_name) [[class_and_nib_name alloc] initWithNibName:[NSString stringWithUTF8String:#class_and_nib_name] bundle:nil]
@rjstelling
rjstelling / SwiftCommandLineWithNSOperation.swift
Created November 27, 2015 12:58
Swift command line script using NSOperation.
#!/usr/bin/env xcrun swift
//
// SwiftCommandLineWithNSOperation.swift
// SwiftCommandLineWithNSOperation
//
// Created by Richard Stelling on 27/11/2015.
// Copyright © 2015 Richard Stelling. All rights reserved.
//
//
// NSString+Verbose.h
//
// An NSString category for overly verbose methods that have little or no practical application.
//
@interface NSString (Verbose)
- (BOOL)isNotEqualToString:(NSString *)aString;