paddingなどを0にする
textView.textContainerInset = UIEdgeInsetsZero
textView.textContainer.lineFragmentPadding = 0切り上げしないとiOS9で最後の行が切れる
| public class VerifiableVariable<Element> { | |
| public typealias E = Element | |
| private let _subject: BehaviorSubject<Element> | |
| private let _lock = NSRecursiveLock() | |
| private var _value: E | |
| private let _validation: (Element) -> Bool |
| struct Localizable<T> { | |
| private let values: [LanguageCode:T] | |
| init(values: [LanguageCode:T]) { | |
| self.values = values | |
| } | |
| func value(languageCode: LanguageCode) -> T? { | |
| return values[languageCode] | |
| } | |
| } | |
| // Utils |
| // 前提とか | |
| // ・micro frameworks | |
| // ・DDDのレイヤー化方針に沿ってレイヤー化 | |
| // ・RxじゃなくてFuture<T, E: Error>を使ってたときの話 | |
| // ・つまりエラー型を明示的に扱う | |
| // ・throwsは型が明確にならないので使わない | |
| // ---------- | |
| // 1. 各モジュールはそのモジュールが返しうるエラー型をenumで作る |
| import RxSwift | |
| import Result | |
| protocol RxError: Error { | |
| init(anyError: Error) | |
| } | |
| typealias ObservableE<T, E: RxError> = Observable<Result<T, E>> | |
| extension Observable { | |
| func asObservableE<Err: RxError>() -> ObservableE<E, Err> { |
| protocol FileIO { | |
| associatedtype T | |
| func read() -> Observable<T> | |
| func write(new: T) -> Observable<Void> | |
| func delete() -> Observable<Void> | |
| } | |
| class ImageFileIO: FileIO { | |
| typealias T = UIImage |
| func odd(_ n: UInt) -> Bool { | |
| if n == 0 { | |
| return false | |
| } | |
| else { | |
| return even(n - 1) | |
| } | |
| } | |
| func even(_ n: UInt) -> Bool { |
| class TailRec<A> { | |
| fileprivate init() { } | |
| func flatMap<B>(_ f: @escaping (A) -> TailRec<B>) -> TailRec<B> { | |
| return FlatMap(self, f) | |
| } | |
| func map<B>(_ f: @escaping (A) -> B) -> TailRec<B> { | |
| return flatMap { a in Return(f(a)) } | |
| } |
| 'atom-text-editor.vim-mode:not(.normal-mode)': | |
| 'ctrl-j':'vim-mode:activate-normal-mode' |
paddingなどを0にする
textView.textContainerInset = UIEdgeInsetsZero
textView.textContainer.lineFragmentPadding = 0切り上げしないとiOS9で最後の行が切れる
| class MyTableViewDelegateProxy: RxTableViewDelegateProxy { | |
| func tableView(tableView: UITableView, editActionsForRowAtIndexPath indexPath: NSIndexPath) -> [UITableViewRowAction]? { | |
| return [] | |
| } | |
| } | |
| extension UITableView { | |
| override public func rx_createDelegateProxy() -> RxScrollViewDelegateProxy { | |
| return MyTableViewDelegateProxy(parentObject: self) | |
| } |