Advertisement
Guest User

Untitled

a guest
Jan 28th, 2015
211
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.75 KB | None | 0 0
  1. import Foundation
  2.  
  3. // a struct that replaces the RAC macro
  4. struct RAC {
  5. var target : NSObject!
  6. var keyPath : String!
  7. var nilValue : AnyObject!
  8.  
  9. init(_ target: NSObject!, _ keyPath: String, nilValue: AnyObject? = nil) {
  10. self.target = target
  11. self.keyPath = keyPath
  12. self.nilValue = nilValue
  13. }
  14.  
  15. func assignSignal(signal : RACSignal) {
  16. signal.setKeyPath(self.keyPath, onObject: self.target, nilValue: self.nilValue)
  17. }
  18. }
  19.  
  20. infix operator ~> {}
  21. func ~> (signal: RACSignal, rac: RAC) {
  22. rac.assignSignal(signal)
  23. }
  24.  
  25. infix operator <~ {}
  26. func <~ (rac: RAC, signal: RACSignal) {
  27. rac.assignSignal(signal)
  28. }
  29.  
  30. func RACObserve(target: NSObject!, keyPath: String) -> RACSignal {
  31. return target.rac_valuesForKeyPath(keyPath, observer: target)
  32. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement