h4labs Swift Today | Swift Weekly | Swift Resources | Swift Cookbook | Books | Tags

Swift Resources

(# urls=7146)

Articles

The Easiest Way to Get a URL for your Apple Wallet Passkit Pass

Swift: Alternative to Default Implementations in Protocols

Swift: When to use guard vs if

Swift: Why You Shouldn’t Use Default Implementations in Protocols

Architecting for Features

Creating a Framework for both iOS and watchOS

How to Reuse Paging Interface Controllers in watchOS

Swift 3.0 Refactoring Cues

CloudKit: What is it good for?

Swift: What are Protocols with Associated Types?

Swift 3: What You Need to Know About Implicitly Unwrapped Optionals

Implementing Equatable for Protocols in Swift

Magical View Rotation with StackView

The Easy Button: A Fancy Animation with StackView

Xcode 8: How To Create an Animated iMessage Sticker

iOS 9: How to Peek & Pop A Specific View Inside a UITableViewCell

Writing Better Code with Custom Subscripts in Swift

A Swift Look at Protocols with Associated Types

Updated: Protocol-Oriented MVVM in Swift 2.0

iOS: Downloading Images Asynchronously (And Making Your UITableView Scroll Fast) is HARD

iOS: How To Make Weak Delegates In Swift

The Trick to Working with CocoaPods on a Team

Protocol-Oriented Segue Identifiers in Swift

iOS Unit Testing: Dependency Injection with Structs

Swift: Protocol Composition

WatchConnectivity: Sharing All Data via User Info

WatchConnectivity: Sharing The Latest Data via Application Context

WatchConnectivity: Say Hello to WCSession

WatchConnectivity Introduction: Say Goodbye To The Spinner

WatchOS 2: Hello, World

A Beautiful Solution to Non-Optional UIImage Named in Swift

Swift 2.0: Let’s try?

Swift 2.0: Protocol-Oriented MVVM

Let It Go: Late Initialization of Let in Swift

iOS: The One Weird Trick For Testing View Controllers

iOS: A Beautiful Way of Styling IBOutlets

Swift: How To Name Your Extensions

Swift 2.0: Understanding flatMap

Swift: When the Functional Approach is NOT Right

CocoaPods: The Elegant Solution To Installing The Same Pod In Multiple Targets

Swift 2.0: Why Guard is Better than If

Xcode Debugging Tip: User Breakpoints

iOS: You’re Doing Settings Wrong

Swift: Equatable with Optionals

Xcode: One Weird Debugging Trick That Will Save Your Life

iOS: An Optional vs Empty Data Source in Swift

iOS: Using the Wrong dequeueReusableCellWithIdentifier!

Swift 2: “for… in” filtering

How to Install an Earlier Version of a CocoaPod

Swift 2: Pattern Matching with “if case”

Swift 2 Pattern Matching: Unwrapping Multiple Optionals

Swift 2: Test Driving the Error Handling

Swift 2 + Xcode 7: Unit Testing Access Made Easy!!!!

WatchKit: How to Place Text Over An (Animating) Image

WatchKit: How to Check Device Screen Size in Code

Swift: The Unused Optional Value Problem

Swift: Putting Your Generics in a Box

Mutating Functions in Swift Structs

Unit Testing in Swift: A Quick Look at Quick

Functional Swift: Tail Recursion Explained

Unit Testing in Swift: Dependency Injection

Unit Testing Optionals In Swift: The XCTAssertNotNil Catch

How To Unit Test With Optionals In Swift

Swift: Using String Ranges The Functional Way

Using Map to Deal with Optionals

The Problem with Trailing Closure Syntax

The Curious Case of NSDecimalNumber

Failable Enums with Optionals

How To Test Locale In Your Playground in Swift

How To Find A Substring In Range of a Swift String

XCode 6: How To Add Image Assets To Your Playground

Swift Access Controls: How To Avoid The ‘Private’ Keyword Repetition

iOS: How to Change UITableViewCell’s Selection Color App Wide

Don’t Miss These Navigation Bar Interactions in iOS8

Using MVVM To Work With Optionals

iOS8: Where To Remove Observer for NSNotification in Swift

Unit Testing Tips and Tricks

Manipulating Constant Objects

Don’t Forget To Keep Your IBOutlets Private!

Why You Should Love Default Parameter Values

Unwrapping Multiple Optionals

Swift Enums: Don’t Forget to Unwrap!

Array Iteration with Index

Init with _

How To Conform to the Sequence Protocol



melling@h4labs.com
Github Data:swift_urls.tsv
h4 Spanish Lite
Spanish
h4 French Lite
French
h4 Italian Lite
Italian
h4 German Lite
German
h4 Russian Lite
Russian
h4 Mandarin Lite
Chinese