RxSwift/RxCocoa/iOS/UILabel+Rx.swift

60 lines
1.3 KiB
Swift
Raw Normal View History

//
// UILabel+Rx.swift
// RxCocoa
//
// Created by Krunoslav Zaher on 4/1/15.
// Copyright (c) 2015 Krunoslav Zaher. All rights reserved.
//
#if os(iOS) || os(tvOS)
import Foundation
2015-08-01 16:13:26 +03:00
#if !RX_NO_MODULE
2015-04-10 02:52:51 +03:00
import RxSwift
2015-08-01 16:13:26 +03:00
#endif
import UIKit
extension UILabel {
2015-09-09 12:29:39 +03:00
/**
Bindable sink for `text` property.
*/
2015-10-17 13:15:37 +03:00
public var rx_text: AnyObserver<String> {
return AnyObserver { [weak self] event in
2015-05-19 21:50:29 +03:00
MainScheduler.ensureExecutingOnScheduler()
switch event {
case .Next(let value):
self?.text = value
case .Error(let error):
bindingErrorToInterface(error)
break
case .Completed:
break
}
}
}
2015-11-11 05:46:30 +03:00
/**
Bindable sink for `attributedText` property.
*/
public var rx_attributedText: AnyObserver<NSAttributedString?> {
return AnyObserver { [weak self] event in
MainScheduler.ensureExecutingOnScheduler()
switch event {
case .Next(let value):
self?.attributedText = value
case .Error(let error):
bindingErrorToInterface(error)
break
case .Completed:
break
}
}
}
}
#endif