Skip to content

Instantly share code, notes, and snippets.

Avatar

Timothy J. Wood tjw

View GitHub Profile
@tjw
tjw / write-file-by-merging.m
Created Feb 7, 2013
Test case for Radar 13167947.
View write-file-by-merging.m
#import <Foundation/Foundation.h>
/*
clang -fobjc-arc -O2 -Wall write-file-by-merging.m -o write-file-by-merging -framework Foundation
echo qq > $HOME/Desktop/qq.txt
open -e $HOME/Desktop/qq.txt
then:
View NSURLEncodingCase.m
#import <Foundation/Foundation.h>
/*
clang -Wall -O2 -fobjc-arc NSURLEncodingCase.m -framework Foundation -o NSURLEncodingCase
./NSURLEncodingCase 'https://localhost/test%5b' 'https://localhost/test%5B'
2013-03-18 11:04:42.663 NSURLEncodingCase[80520:707] https://localhost/test%5b is NOT equal https://localhost/test%5B
http://tools.ietf.org/html/rfc3986#section-2.1 says
View OmniPresence Hours per Crash
{
"graph" : {
"title" : "OmniPresence",
"datasequences" : [
{
"title" : "Hours per Crash",
"datapoints" : [
{
"title" : "2013-02-18",
"value" : 0
View directory-url-unencoded.m
#import <Foundation/Foundation.h>
#include <sys/stat.h>
/*
clang -Wall -O2 -fobjc-arc directory-url-unencoded.m -o directory-url-unencoded -framework Foundation
*/
int main(int argc, char *argv[])
{
@tjw
tjw / switch-enum-struct-case.swift
Created Sep 13, 2014
switch with enum case with struct associated value
View switch-enum-struct-case.swift
/*
xcrun swiftc -c switch-enum-struct-case.swift
switch-enum-struct-case.swift:30:36: error: '(size: Size)' does not have a member named 'width'
println("rectangle with size \(size.width)x\(size.height)")
^ ~~~~~
*/
struct Size {
View gist:fdb5c60dc1d15660658c
convenience public init?(url:NSURL, error:NSErrorPointer) {
if let data = NSData(contentsOfURL:url, options: NSDataReadingOptions(0), error: error) {
self.init(data:data)
} else {
return nil;
}
}
--> all stored properties of a class instance must be initialized before returning nil from an initializer
@tjw
tjw / protocol-type-member.swift
Last active Aug 29, 2015
Can't access members of protocol types
View protocol-type-member.swift
public protocol MeasurementUnit {
// If we have one of this unit, how many millimeters is it?
class var asMillimeters: Double { get }
}
public class Inch : MeasurementUnit {
public class var asMillimeters: Double {
get {
return 25.4
}
}
@tjw
tjw / type-with-unit.swift
Created Oct 23, 2014
Geometric types with units
View type-with-unit.swift
public protocol MeasurementUnit {
// If we have one of this unit, how many millimeters is it?
class var asMillimeters: Double { get }
}
public class Millimeter : MeasurementUnit {
public class var asMillimeters: Double {
get {
return 1.0
View unit-types.swift
import Foundation
@objc protocol MeasurementUnit {
// If we have one of this unit, how many millimeters is it?
class var asMillimeters: Double { get }
var value: Double { get }
init(_:Double)
}
@tjw
tjw / subclass-float-literal.swift
Created Nov 5, 2014
Example for Radar 18877135
View subclass-float-literal.swift
/*
Subclassing a FloatLiteralConvertible conforming class and then using the convertible bit uses the superclass initializer, even when the subclass type is specified explicitly.
% xcrun -sdk macosx swiftc ./subclass-float-literal.swift
% ./subclass-float-literal
b1 className = B
b1 = B
b2 className = A
assertion failed: Must be subclassed: file ./subclass-float-literal.swift, line 23