Skip to content

๐Ÿฎ A collection of Swift snippets to be used in Xcode

License

Notifications You must be signed in to change notification settings

onmyway133/SwiftSnippets

Folders and files

NameName
Last commit message
Last commit date

Latest commit

a252a2e ยท Apr 14, 2020

History

27 Commits
Aug 24, 2017
Jul 6, 2016
Jul 6, 2016
Jul 6, 2016
Apr 14, 2020
Aug 25, 2017

Repository files navigation

Swift Snippets

โค๏ธ Support my app โค๏ธ

โค๏ธโค๏ธ๐Ÿ˜‡๐Ÿ˜๐Ÿค˜โค๏ธโค๏ธ

A collection of Swift snippets to be used in Xcode

Usage

  • swifttrycatch
do {
  try <#code#>
} catch <#errortype#> {
  <#code#>
} catch <#errortype#> {
  <#code#>
}
  • swiftassociatedobject
private struct AssociatedKeys {
  static var <#name#> = "<#name#>"
}

var <#name#>: String? {
  get {
    return objc_getAssociatedObject(self, &AssociatedKeys.<#name#>) as? String
  }

  set {
    if let newValue = newValue {
      objc_setAssociatedObject(self, &AssociatedKeys.<#name#>, newValue as String?,
        .OBJC_ASSOCIATION_RETAIN_NONATOMIC
      )
    }
  }
}
  • swiftavailable
@available(iOS 7, *)
  • swiftcheckavailability
if #available(iOS 9, *) {
    <#API available statements#>
} else if #available(macOS 10.12, *) {
    <#API available statements#>
} else {
    <#fallback statements#>
}
  • swiftcheckversion
#if swift(>=3.0)
    <#code#>
#elseif swift(>=2.2)
    <#code#>
#elseif swift(>=2.1)
    <#code#>
#endif
  • swiftcheckplatform
#if os(iOS) || os(tvOS)
  <#code#>
#elseif os(watchOS)
  <#code#>
#elseif os(OSX)
  <#code#>
#endif
  • swiftdispatchafter
DispatchQueue.main.asyncAfter(deadline: .now() + <#time#>) {
  <#code#>
}
  • swiftdispatchasync
DispatchQueue.global(qos: .background).async {
  <#code#>
}
  • swiftdispatchonce
let <#name#>: <#type#> = {
  return <#code#>
}()
  • swiftinitcoder
public required init?(coder aDecoder: NSCoder) {
  fatalError("init(coder:) has not been implemented")
}
  • swiftmark
// MARK: - <#section#>
  • swiftsubscript
subscript(<#name#>: <#type#>) -> <#type#> {
  get {
    return <#value#>
  }
  set(newValue) {
      <#code#>
  }
}
  • swiftguardself
guard let `self` = self else {
  return
}
  • swiftuitableviewdatasource
func numberOfSections(in tableView: UITableView) -> Int {
 return <#count#>
}

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
 return <#count#>
}

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
 <#code#>
}
  • swiftuicollectionviewdatasource
func numberOfSections(in collectionView: UICollectionView) -> Int {
  return <#count#>
}

func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
  return <#count#>
}

func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
  <#code#>
}
  • swiftuipickerviewdatasource
func numberOfComponents(in pickerView: UIPickerView) -> Int {
  return <#count#>
}

func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
  return <#count#>
}

Installation

Manual

Drag codesnippet files from Snippets into /Library/Developer/Xcode/UserData/CodeSnippets

Automatic

Run this in your terminal

curl -fsSL https://raw.githubusercontent.com/hyperoslo/SwiftSnippets/master/install.sh | sh

Author

Credit

License

SwiftSnippets is available under the MIT license. See the LICENSE file for more info.