Skip to content

Latest commit

 

History

History
220 lines (164 loc) · 3.76 KB

README.md

File metadata and controls

220 lines (164 loc) · 3.76 KB

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.