Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import Foundation
- struct ModernStruct {
- var value: Int
- }
- class ESLegacyClass : NSObject, NSCopying {
- var value: Int
- init(value: Int) {
- self.value = value
- }
- func copy(with zone: NSZone? = nil) -> Any {
- return ESLegacyClass(value: value)
- }
- }
- extension ModernStruct : ReferenceConvertible {
- // Creating an instance bridged from LegacyClass.
- private init(_ source: ESLegacyClass) {
- value = source.value
- }
- static func _unconditionallyBridgeFromObjectiveC(_ source: ESLegacyClass?) -> ModernStruct {
- return ModernStruct(value: source!.value)
- }
- typealias ReferenceType = ESLegacyClass
- @discardableResult
- static func _conditionallyBridgeFromObjectiveC(_ source: ESLegacyClass, result: inout ModernStruct?) -> Bool {
- result = ModernStruct(source)
- return true
- }
- static func _forceBridgeFromObjectiveC(_ source: ESLegacyClass, result: inout ModernStruct?) {
- result = ModernStruct(source)
- }
- func _bridgeToObjectiveC() -> ESLegacyClass {
- return ESLegacyClass(value: value)
- }
- var description: String {
- return "\(value)"
- }
- var debugDescription: String {
- return String(reflecting: self)
- }
- var hashValue: Int {
- return 0
- }
- static func == (lhs: ModernStruct, rhs: ModernStruct) -> Bool {
- return true
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement