女子高生になりたい

はるみちゃんのブログだよ。えへへ。

Swift

SwiftのOptionをEither(Result)にするExtension

SwiftのOptionalをResultにするExtension書いたのでメモ。 Resultはこのライブラリを入れてます github.com 実装 import Result extension Optional { func toResult<E: Error>(error: E) -> Result<Wrapped, E> { guard let value = self else { return .failure(error) } return </wrapped,></e:>…

Xcode8でFirebaseのCrash Reportingを使う

Xcode8でFirebaseのCrash Reportingを使おうとしたらハマったのでその時の話をメモっときます。 (1) Firebaseの導入 まずは、https://firebase.google.com/docs/ios/setup に書いてある通りにFirebaseを導入していきます。 そして、iOSシミュレータ上でRUNし…

よく使うExtension(2) UITableView カスタムセルの登録

extension UITableView { func registerCell<T: UITableViewCell>(type: T.Type) { let className = type.className let nib = UINib(nibName: className, bundle: nil) registerNib(nib, forCellReuseIdentifier: className) } func registerCells<T: UITableViewCell>(types: [T.Type]) { types.for</t:></t:>…

よく使うExtension(1) Array Safe

インデックスの範囲外にアクセスした場合に例外を起こさずにnilを返すExtension extension CollectionType { subscript (safe index: Index) -> Generator.Element? { return indices.contains(index) ? self[index] : nil } } let numbers = [1,2,3,4] numb…