Search code examples
rx-swiftbehaviorrelay

How to typecast NSManagedObject class to Any to create a BehaviorRelay object in RxSwift?


I have an Entity called 'CartItem' (NSManagedObject class) in my coredata datamodelid. Wanted to change Variable to BehaviorRelay in RxSwift, but I get a compile time error stating "[Any] is not convertible to CartItem". How do I change Variable to BehaviorRelay?

var cartItemsArray = BehaviorRelay<CartItem>(value: []) //get error here

//var cartItemsArray: Variable<[CartItem]> = Variable([])

Solution

  • You forgot the brackets around CartItem.

    let cartItemsArray = BehaviorRelay<[CartItem]>(value: [])
    

    And don't make cartItemsArray a var, it should be a let.