Skip to content

Instantly share code, notes, and snippets.

View tjw's full-sized avatar

Timothy J. Wood tjw

View GitHub Profile
@tjw
tjw / write-file-by-merging.m
Created February 7, 2013 01:11
Test case for Radar 13167947.
#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:
@tjw
tjw / NSURLEncodingCase.m
Created March 18, 2013 18:23
Radar 13443089
#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
{
"graph" : {
"title" : "OmniPresence",
"datasequences" : [
{
"title" : "Hours per Crash",
"datapoints" : [
{
"title" : "2013-02-18",
"value" : 0
#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 September 13, 2014 22:41
switch with enum case with struct associated value
/*
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 {
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 August 29, 2015 14:08
Can't access members of protocol types
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 October 23, 2014 01:57
Geometric types with units
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
@tjw
tjw / unit-types.swift
Created October 23, 2014 02:38
Unit types
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 November 5, 2014 05:05
Example for Radar 18877135
/*
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