This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import UIKit | |
open class VStackViewController: UIViewController { | |
public let scrollView: UIScrollView = .init() | |
public let stackView: UIStackView = { | |
let stackView: UIStackView = .init() | |
stackView.axis = .vertical | |
stackView.alignment = .fill | |
stackView.distribution = .equalSpacing | |
stackView.spacing = 0 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import UIKit | |
import WebKit | |
class WKWebViewController: UIViewController { | |
var request: URLRequest? | |
weak var uiDelegate: WKUIDelegate? | |
weak var navigationDelegate: WKNavigationDelegate? | |
lazy var webView: WKWebView = { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import UIKit | |
typealias Constraint = (UIView, UIView) -> NSLayoutConstraint | |
func equal<L, Axis>(_ to: KeyPath<UIView, L>, constant: CGFloat = 0, priority: UILayoutPriority? = nil) -> Constraint where L: NSLayoutAnchor<Axis> { | |
return equal(to, to, constant: constant, priority: priority) | |
} | |
func equal<L, Axis>(_ from: KeyPath<UIView, L>, _ to: KeyPath<UIView, L>, constant: CGFloat = 0, priority: UILayoutPriority? = nil) -> Constraint where L: NSLayoutAnchor<Axis> { | |
return { view1, view2 in |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
pre_install do |installer| | |
installer.pod_targets.each do |target| | |
if ['Mockingjay', 'URITemplate'].include? target.name | |
target.root_spec.swift_version = '4.2' | |
else | |
target.root_spec.swift_version = '5.0' | |
end | |
end | |
end |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var directory: ObjCBool = false | |
var exists: Bool = FileManager.default.fileExists(atPath: "…", isDirectory: &directory) | |
if exists { | |
if directory.boolValue { | |
// Exists. Directory. | |
} else { | |
// Exists. | |
} | |
} else { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public struct FirebasePreprocessorToken { | |
public static let `default` = FirebasePreprocessorToken() | |
private init() { | |
#if RELEASE | |
let googleServiceInfoPlist = "GoogleService-Info" | |
#elseif STAGING | |
let googleServiceInfoPlist = "GoogleService-Info-Stg" | |
#else | |
let googleServiceInfoPlist = "GoogleService-Info-Dev" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import Foundation | |
extension Date { | |
var elasticDateFormat: String { | |
let calendar = Calendar.current | |
let date = Date() | |
let dateInterval = calendar.dateInterval(of: .month, for: self) | |
if calendar.dateInterval(of: .day, for: self)!.contains(date) { | |
return "HH:mm" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
struct Hoge: Storagable { | |
let id: Int | |
let name: String | |
} | |
protocol Storagable: Codable {} | |
extension Storagable { | |
func save(key: String = "\(Self.self)", userDefaults: UserDefaults = .standard) throws { | |
let data = try JSONEncoder().encode(self) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
let labelColorStyle = { set(\UILabel.textColor, $0) } | |
let primaryLabelStyle = labelColorStyle(UIColor.green) | |
let label = UILabel() |> primaryLabelStyle |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import UIKit | |
let paragraphStyle = NSMutableParagraphStyle() | |
paragraphStyle.alignment = .center | |
NSMutableParagraphStyle() |> (prop(\.alignment)) { _ in .center } | |
func set<Root, Value>( | |
_ kp: WritableKeyPath<Root, Value>, | |
_ value: Value | |
) |