I want to present some convenient code snippets I gathered for Swift.
I was inspired by Matt Thompson's Xcode-Snippets article and GitHub repo but I haven't found anything similar for Swift.
I also used that thing in swift and SwiftSingleton as a sample implementations.
All Xcode code snippets exist as a .plist
files in ~/Library/Developer/Xcode/UserData/CodeSnippets/
You can simply copy all code snippets (.codesnippet
) into this folder, restart Xcode and you should have all of them ready to use.
Note: Create the folder if it doesn't exist already. It is created by Xcode when user adds his first custom snippet.
I named all snippets using scheme Swift ...
and set all Completion Shortcuts to swift-...
so each time you type swift
in code editor you should see all snippets you can use in that place.
To add code snippet to Xcode expand Utilities right panel and press {}
button (Show the Code Snippet library) in lower panel.
Then select a code you would like to treat as a snippet, press and hold a left mouse button for a while and drag whole selection to the right panel (if you drag too early you'll probably only deselect text; you can also try dragging from a whitespace instead of the letter).
If you want to add this nice placeholder in rounded blue rect simply put it between <#
and #>
and it will be transformed in both editor and final snippet.
Currently existing snippets (I hope they will be updated on a regular basis with your help :) ):
swift-documentdirectory Document directory path snippet for Swift
swift-dispatchafter GCD dispatch_after snippet for Swift
swift-dispatchasync GCD dispatch_async snippet for Swift
swift-nslocalizedstring NSLocalizedString function snippet for Swift
swift-dispatchmain GCD dispatch_async on main queue snippet for Swift
swift-closuretypealias Closure typealias with arguments and return value snippet for Swift
swift-weak weakify self in closure
swift-uitableviewdelegate UITableViewDelegate snippet for Swift
swift-forin for-in loop that casts objects inline
swift-ibo Stub out IBOutlet
swift-sortarrayofstrings Swift String Array locale-aware sorting
swift-prop Auto-Create property stub
swift-closureoptionaltypealias Optional closure typealiast with arguments and return value snippet for Swift
swift-urlsession-delegate Swift HTTP Request With Delegate set
swift-message MFMessageComposeViewController snippet for Swift
swift-uiviewcontrollerlifecycle UIViewController lifecycle snippet for Swift
swift-uicollectionviewdelegate UICollectionViewDelegate snippet for Swift
swift-uiremotenotification UIRemoteNotification registration and handling snippet for Swift
swift-mark Divider label for separating code into sections
swift-didbecomeactive UIApplicationDidBecomeActiveNotification observer snippet for Swift
swift-urlsession-datatask Swift Simple HTTP Request
swift-mail MFMailComposeViewController snippet for Swift
swift-iba Create IBAction method stub
swift-uicollectionviewdatasource UICollectionViewDataSource snippet for Swift
swift-singleton Singleton pattern for Swift
swift-uitableviewdatasource UITableViewDataSource snippet for Swift
swift-uiapplicationdelegate Commonly used app life cycle methods
swift-elegantmark Decorates mark statements and makes it neat when looking through items in File Jump Bar
This is a good start but I encourage you to create your own snippets or correct existing ones and create Pull Requests. Please provide plain snippets as .plist
files so they can be easily imported.
You can use plist/generate_list.py
script to generate snippets list by running: python generate_list.py
.
Do you like this repo? Share it on Twitter, Facebook, Google+ or anywhere you like so that more of us can use it and help. Thanks!