Is it possible to call methods defined in a protocol extension in Swift from Objective-C?
For example:
protocol Product {
    var price:Int { get }
    var priceString:String { get }
}
extension Product {
    var priceString:String {
        get {
            return "$\(price)"
        }
    }
}
class IceCream : Product {
    var price:Int {
        get {
            return 2
        }
    }
}
The price string of an instance of IceCream is '$2' and can be accessed in Swift, however the method is not visible in Objective-C. The compiler throws the error 'No visible @interface for 'IceCream' declares the selector ...'.
In my configuration, if the method is defined directly in the Swift object's implementation, everything works as expected. i.e.:
protocol Product {
    var price:Int { get }
    var priceString:String { get }
}
class IceCream : Product {
    var price:Int {
        get {
            return 2
        }
    }
    var priceString:String {
        get {
            return "$\(price)"
        }
    }
}
 
     
     
     
     
     
    