Skip to content

Instantly share code, notes, and snippets.

@toddkramer
toddkramer / SwiftInitializers01-Person.h
Created December 28, 2014 21:03
SwiftInitializers01-Person.h
// Person.h
@interface Person : NSObject
@property (nonatomic, copy) NSString* firstName;
@property (nonatomic, copy) NSString* lastName;
@property (nonatomic, copy) NSString* middleInitial;
@property (nonatomic, copy) NSString* title;
- (instancetype)initWithFirstName:(NSString*)firstName
@toddkramer
toddkramer / SwiftInitializers02-Person.m
Created December 28, 2014 21:05
SwiftInitializers02-Person.m
#import "Person.h"
@implementation Person
- (instancetype)init {
return [self initWithFirstName:@"First" lastName:@"Last"];
}
- (instancetype)initWithFirstName:(NSString*)firstName
lastName:(NSString*)lastName {
@toddkramer
toddkramer / SwiftInitializers03-Person.swift
Last active August 29, 2015 14:12
SwiftInitializers03-Person.swift
class Person: NSObject {
let firstName: String
let lastName: String
let middleInitial: String
let title: String
init(firstName: String = "First", lastName: String = "Last",
middleInitial: String = "", title: String = "") {
self.firstName = firstName
@toddkramer
toddkramer / SwiftInitializers04-Person.swift
Created December 28, 2014 21:30
SwiftInitializers04-Person.swift
class Person: NSObject {
let firstName: String
let lastName: String
let middleInitial: String
let title: String
init(firstName: String, lastName: String,
middleInitial: String = "", title: String = "") {
self.firstName = firstName
@toddkramer
toddkramer / SwiftInitializers05-Person.swift
Created December 28, 2014 21:49
SwiftInitializers05-Person.swift
class Person: NSObject {
let firstName: String
let lastName: String
let middleInitial: String
let title: String
convenience init(fullName: String) {
let nameComponents = fullName.componentsSeparatedByString(" ")
var firstName = ""
@toddkramer
toddkramer / SwiftInitializers06-Person.swift
Created December 28, 2014 21:57
SwiftInitializers06-Person.swift
class Person: NSObject {
var firstName = "First"
var lastName = "Last"
var middleInitial = ""
var title = ""
}
@toddkramer
toddkramer / ExtensionDataSharing01-ViewController.swift
Created January 3, 2015 04:23
ExtensionDataSharing01-ViewController.swift
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
saveUserDefaults()
}
@toddkramer
toddkramer / ExtensionDataSharing02-TodayViewController.swift
Created January 3, 2015 04:26
ExtensionDataSharing02-TodayViewController.swift
import UIKit
import NotificationCenter
class TodayViewController: UIViewController, NCWidgetProviding {
override func viewDidLoad() {
super.viewDidLoad()
self.preferredContentSize = CGSizeMake(320, 180);
println("Title: \(titleFromSharedDefaults())")
@toddkramer
toddkramer / ExtensionDataSharing03-Book.swift
Last active August 29, 2015 14:12
ExtensionDataSharing03-Book.swift
import UIKit
public class Book: NSObject, NSCoding {
public let title: String!
public let author: String!
public init(title: String, author: String) {
self.title = title
self.author = author
@toddkramer
toddkramer / ExtensionDataSharing04-SharedBooksManager.swift
Last active August 29, 2015 14:12
ExtensionDataSharing04-SharedBooksManager.swift
import UIKit
public class SharedBooksManager: NSObject {
public class func urlForSharedBooksArray() -> String? {
let directoryURL = NSFileManager.defaultManager()
.containerURLForSecurityApplicationGroupIdentifier("group.example.DataSharing")
let fileURL = directoryURL?.path?.stringByAppendingPathComponent("SharedCSBooks.plist")
return fileURL?
}