Can I implement this in Swift with Extensions without the need to inheritance?. I get this error Extensions May not contain Stored properties
extension UIB
In Swift, I'm importing a static library written in Objective-C. The protocol below, in that library, has a method and a property.
@class Message;
@protocol LocalService
@property (readonly) int action;
- (Message *)getResponse:(Message *)request;
@end
Trying to have a class conform to that protocol, delivers the messages below:
1-) Type 'ShowInitialViewLocalService' does not conform to protocol 'LocalService
2-) Extensions may not contain stored properties
The code provided below, fixes this issue:
import UIKit
class ShowInitialViewLocalService: NSObject{
}
extension ShowInitialViewLocalService : LocalService {
var action: Int32 {
get { return View.InitialView.rawValue }
}
func getResponse(_ request: Message) -> Message {
let response = Response(source: request.target, target: request.source, relatedView: View.InitialView.rawValue, action: request.action, data: request.data)
return response
}
}
I hope this will help someone.