Skip to content

Instantly share code, notes, and snippets.

if let userDict = User.convertToDict() {
// Do something you want with dict
}
struct User: Convertable {
let name: String
let phone: String
}
import Foundation
protocol Convertable: Codable {
}
// Convert struct to dictionary
extension Convertable {
func convertToDict() -> Dictionary<String, Any>? {
var dict: Dictionary<String, Any>? = nil
@daoseng33
daoseng33 / StopJumpingTableViewOnInsertRows.swift
Created July 11, 2018 12:31 — forked from joshdholtz/StopJumpingTableViewOnInsertRows.swift
Used when loading more data into UITableView for a smooth "infinite scroll" feel
// I dont want my table jumping/animation when appending new rows
// for an infinite scroll feel
//
// Some of this might not be needed but it works
//
// TODO: Possibly garbage
extension UITableView {
func reloadDataSmoothly() {
UIView.setAnimationsEnabled(false)
enum Type: String {
// 直接指定 API 回傳的 String
case regular = "regular"
case system = "system"
case advertise = "advertise"
var image: UIImage? {
// 一行搞定
return UIImage(named: self.rawValue)
}
let json = ["type": 1]
if let typeNumber = json["type"] {
imageView.image = Type(rawValue: typeNumber)?.image
}
enum Type: Int {
case regular = 0
case system
case advertise
var image: UIImage? {
switch self {
case .regular:
return UIImage(named: "regular")
case .system:
enum Type {
case regular
case system
case advertise
var image: UIImage? {
switch self {
case .regular:
return UIImage(named: "regular")
case .system:
@daoseng33
daoseng33 / type.swift
Last active June 28, 2018 12:46
Enum type
enum Type {
case regular
case system
case advertise
}
@daoseng33
daoseng33 / delete-feature-branches.sh
Created December 9, 2017 12:59 — forked from chrisjlee/delete-feature-branches.sh
Delete feature branch with prefix locally then remove all remote feature branches
# Stole from:
# http://stackoverflow.com/questions/32122784/alias-script-to-delete-all-local-and-remote-git-branches-with-a-specific-prefix
git branch -D $(printf "%s\n" $(git branch) | grep 'feature/')
# Or this will work too to remove all remote branches:
# https://coderwall.com/p/eis0ba/remove-a-thousand-stale-remote-branches-on-git
git branch -r | awk -F/ '/\/feature/{print $2}' | xargs -I {} git push origin :{}
# Prune all origin branches
git remote prune origin