Documentation Archive Developer
Search

MetalKit Changes for Swift

MetalKit

Modified MTKMesh
DeclarationProtocols
From
class MTKMesh : NSObject {
    init()
    init(mesh mesh: MDLMesh, device device: MTLDevice) throws
    class func newMeshesFromAsset(_ asset: MDLAsset, device device: MTLDevice, sourceMeshes sourceMeshes: AutoreleasingUnsafeMutablePointer<NSArray?>) throws -> [MTKMesh]
    var vertexBuffers: [MTKMeshBuffer] { get }
    var vertexDescriptor: MDLVertexDescriptor { get }
    var submeshes: [MTKSubmesh] { get }
    var vertexCount: Int { get }
    var name: String
}
--
To
class MTKMesh : NSObject {
    init()
    init(mesh mesh: MDLMesh, device device: MTLDevice) throws
    class func newMeshes(from asset: MDLAsset, device device: MTLDevice, sourceMeshes sourceMeshes: AutoreleasingUnsafeMutablePointer<NSArray?>?) throws -> [MTKMesh]
    var vertexBuffers: [MTKMeshBuffer] { get }
    var vertexDescriptor: MDLVertexDescriptor { get }
    var submeshes: [MTKSubmesh] { get }
    var vertexCount: Int { get }
    var name: String
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension MTKMesh : CVarArg {
}
extension MTKMesh : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable

Declaration
From
class func newMeshesFromAsset(_ asset: MDLAsset, device device: MTLDevice, sourceMeshes sourceMeshes: AutoreleasingUnsafeMutablePointer<NSArray?>) throws -> [MTKMesh]
To
class func newMeshes(from asset: MDLAsset, device device: MTLDevice, sourceMeshes sourceMeshes: AutoreleasingUnsafeMutablePointer<NSArray?>?) throws -> [MTKMesh]

Modified MTKMeshBuffer
DeclarationProtocols
From
class MTKMeshBuffer : NSObject, MDLMeshBuffer {
    init()
    var length: Int { get }
    var allocator: MTKMeshBufferAllocator { get }
    var buffer: MTLBuffer { get }
    var offset: Int { get }
    var type: MDLMeshBufferType { get }
    func zone() -> MDLMeshBufferZone?
}
MDLMeshBuffer
To
class MTKMeshBuffer : NSObject, MDLMeshBuffer, MDLNamed {
    init()
    var length: Int { get }
    var allocator: MTKMeshBufferAllocator { get }
    var buffer: MTLBuffer { get }
    var offset: Int { get }
    var type: MDLMeshBufferType { get }
    func zone() -> MDLMeshBufferZone?
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension MTKMeshBuffer : CVarArg {
}
extension MTKMeshBuffer : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable, MDLMeshBuffer, MDLNamed

DeclarationProtocols
From
class MTKMeshBufferAllocator : NSObject, MDLMeshBufferAllocator {
    init()
    init(device device: MTLDevice)
    var device: MTLDevice { get }
}
MDLMeshBufferAllocator
To
class MTKMeshBufferAllocator : NSObject, MDLMeshBufferAllocator {
    init()
    init(device device: MTLDevice)
    var device: MTLDevice { get }
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension MTKMeshBufferAllocator : CVarArg {
}
extension MTKMeshBufferAllocator : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable, MDLMeshBufferAllocator

Modified MTKSubmesh
DeclarationProtocols
From
class MTKSubmesh : NSObject {
    init()
    var primitiveType: MTLPrimitiveType { get }
    var indexType: MTLIndexType { get }
    var indexBuffer: MTKMeshBuffer { get }
    var indexCount: Int { get }
    weak var mesh: MTKMesh? { get }
    var name: String
}
--
To
class MTKSubmesh : NSObject {
    init()
    var primitiveType: MTLPrimitiveType { get }
    var indexType: MTLIndexType { get }
    var indexBuffer: MTKMeshBuffer { get }
    var indexCount: Int { get }
    weak var mesh: MTKMesh? { get }
    var name: String
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension MTKSubmesh : CVarArg {
}
extension MTKSubmesh : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable

DeclarationProtocols
From
class MTKTextureLoader : NSObject {
    var device: MTLDevice { get }
    init()
    init(device device: MTLDevice)
    func newTextureWithContentsOfURL(_ URL: NSURL, options options: [String : NSNumber]?, completionHandler completionHandler: MTKTextureLoaderCallback)
    func newTextureWithData(_ data: NSData, options options: [String : NSNumber]?, completionHandler completionHandler: MTKTextureLoaderCallback)
    func newTextureWithCGImage(_ cgImage: CGImage, options options: [String : NSNumber]?, completionHandler completionHandler: MTKTextureLoaderCallback)
    func newTextureWithContentsOfURL(_ URL: NSURL, options options: [String : NSNumber]?) throws -> MTLTexture
    func newTextureWithData(_ data: NSData, options options: [String : NSNumber]?) throws -> MTLTexture
    func newTextureWithCGImage(_ cgImage: CGImage, options options: [String : NSNumber]?) throws -> MTLTexture
}
--
To
class MTKTextureLoader : NSObject {
    var device: MTLDevice { get }
    init()
    init(device device: MTLDevice)
    func newTexture(withContentsOf URL: URL, options options: [String : NSObject]? = nil, completionHandler completionHandler: MetalKit.MTKTextureLoaderCallback)
    func newTexture(withName name: String, scaleFactor scaleFactor: CGFloat, bundle bundle: Bundle?, options options: [String : NSObject]? = nil, completionHandler completionHandler: MetalKit.MTKTextureLoaderCallback)
    func newTextures(withContentsOf URLs: [URL], options options: [String : NSObject]? = nil, completionHandler completionHandler: MetalKit.MTKTextureLoaderArrayCallback)
    func newTextures(withNames names: [String], scaleFactor scaleFactor: CGFloat, bundle bundle: Bundle?, options options: [String : NSObject]? = nil, completionHandler completionHandler: MetalKit.MTKTextureLoaderArrayCallback)
    func newTexture(with data: Data, options options: [String : NSObject]? = nil, completionHandler completionHandler: MetalKit.MTKTextureLoaderCallback)
    func newTexture(with cgImage: CGImage, options options: [String : NSObject]? = nil, completionHandler completionHandler: MetalKit.MTKTextureLoaderCallback)
    func newTexture(with texture: MDLTexture, options options: [String : NSObject]? = nil, completionHandler completionHandler: MetalKit.MTKTextureLoaderCallback)
    func newTexture(withContentsOf URL: URL, options options: [String : NSObject]? = nil) throws -> MTLTexture
    func newTextures(withContentsOf URLs: [URL], options options: [String : NSObject]? = nil, error error: NSErrorPointer) -> [MTLTexture]
    func newTexture(with data: Data, options options: [String : NSObject]? = nil) throws -> MTLTexture
    func newTexture(with cgImage: CGImage, options options: [String : NSObject]? = nil) throws -> MTLTexture
    func newTexture(with texture: MDLTexture, options options: [String : NSObject]? = nil) throws -> MTLTexture
    func newTexture(withName name: String, scaleFactor scaleFactor: CGFloat, bundle bundle: Bundle?, options options: [String : NSObject]? = nil) throws -> MTLTexture
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension MTKTextureLoader : CVarArg {
}
extension MTKTextureLoader : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable

Declaration
From
func newTextureWithCGImage(_ cgImage: CGImage, options options: [String : NSNumber]?) throws -> MTLTexture
To
func newTexture(with cgImage: CGImage, options options: [String : NSObject]? = nil) throws -> MTLTexture

Declaration
From
func newTextureWithData(_ data: NSData, options options: [String : NSNumber]?) throws -> MTLTexture
To
func newTexture(with data: Data, options options: [String : NSObject]? = nil) throws -> MTLTexture

Declaration
From
func newTextureWithData(_ data: NSData, options options: [String : NSNumber]?, completionHandler completionHandler: MTKTextureLoaderCallback)
To
func newTexture(with data: Data, options options: [String : NSObject]? = nil, completionHandler completionHandler: MetalKit.MTKTextureLoaderCallback)

Declaration
From
func newTextureWithCGImage(_ cgImage: CGImage, options options: [String : NSNumber]?, completionHandler completionHandler: MTKTextureLoaderCallback)
To
func newTexture(with cgImage: CGImage, options options: [String : NSObject]? = nil, completionHandler completionHandler: MetalKit.MTKTextureLoaderCallback)

Declaration
From
func newTextureWithContentsOfURL(_ URL: NSURL, options options: [String : NSNumber]?) throws -> MTLTexture
To
func newTexture(withContentsOf URL: URL, options options: [String : NSObject]? = nil) throws -> MTLTexture

Declaration
From
func newTextureWithContentsOfURL(_ URL: NSURL, options options: [String : NSNumber]?, completionHandler completionHandler: MTKTextureLoaderCallback)
To
func newTexture(withContentsOf URL: URL, options options: [String : NSObject]? = nil, completionHandler completionHandler: MetalKit.MTKTextureLoaderCallback)

Modified MTKView
DeclarationProtocols
From
class MTKView : UIView, NSCoding {
    init(frame frameRect: CGRect, device device: MTLDevice?)
    init(coder coder: NSCoder)
    weak var delegate: MTKViewDelegate?
    var device: MTLDevice?
    var currentDrawable: CAMetalDrawable? { get }
    var framebufferOnly: Bool
    var presentsWithTransaction: Bool
    var colorPixelFormat: MTLPixelFormat
    var depthStencilPixelFormat: MTLPixelFormat
    var sampleCount: Int
    var clearColor: MTLClearColor
    var clearDepth: Double
    var clearStencil: UInt32
    var depthStencilTexture: MTLTexture? { get }
    var multisampleColorTexture: MTLTexture? { get }
    func releaseDrawables()
    var currentRenderPassDescriptor: MTLRenderPassDescriptor? { get }
    var preferredFramesPerSecond: Int
    var enableSetNeedsDisplay: Bool
    var autoResizeDrawable: Bool
    var drawableSize: CGSize
    var paused: Bool
    func draw()
}
NSCoding
To
class MTKView : UIView, NSCoding, CALayerDelegate {
    init(frame frameRect: CGRect, device device: MTLDevice?)
    init(coder coder: NSCoder)
    weak var delegate: MTKViewDelegate?
    var device: MTLDevice?
    var currentDrawable: CAMetalDrawable? { get }
    var framebufferOnly: Bool
    var presentsWithTransaction: Bool
    var colorPixelFormat: MTLPixelFormat
    var depthStencilPixelFormat: MTLPixelFormat
    var sampleCount: Int
    var clearColor: MTLClearColor
    var clearDepth: Double
    var clearStencil: UInt32
    var depthStencilTexture: MTLTexture? { get }
    var multisampleColorTexture: MTLTexture? { get }
    func releaseDrawables()
    var currentRenderPassDescriptor: MTLRenderPassDescriptor? { get }
    var preferredFramesPerSecond: Int
    var enableSetNeedsDisplay: Bool
    var autoResizeDrawable: Bool
    var drawableSize: CGSize
    var isPaused: Bool
    var colorspace: CGColorSpace?
    func draw()
    func viewPrintFormatter() -> UIViewPrintFormatter
    func draw(_ rect: CGRect, for formatter: UIViewPrintFormatter)
    func endEditing(_ force: Bool) -> Bool
    func snapshotView(afterScreenUpdates afterUpdates: Bool) -> UIView?
    func resizableSnapshotView(from rect: CGRect, afterScreenUpdates afterUpdates: Bool, withCapInsets capInsets: UIEdgeInsets) -> UIView?
    func drawHierarchy(in rect: CGRect, afterScreenUpdates afterUpdates: Bool) -> Bool
    var restorationIdentifier: String?
    func encodeRestorableState(with coder: NSCoder)
    func decodeRestorableState(with coder: NSCoder)
    func constraintsAffectingLayout(for axis: UILayoutConstraintAxis) -> [NSLayoutConstraint]
    var hasAmbiguousLayout: Bool { get }
    func exerciseAmbiguityInLayout()
    var leadingAnchor: NSLayoutXAxisAnchor { get }
    var trailingAnchor: NSLayoutXAxisAnchor { get }
    var leftAnchor: NSLayoutXAxisAnchor { get }
    var rightAnchor: NSLayoutXAxisAnchor { get }
    var topAnchor: NSLayoutYAxisAnchor { get }
    var bottomAnchor: NSLayoutYAxisAnchor { get }
    var widthAnchor: NSLayoutDimension { get }
    var heightAnchor: NSLayoutDimension { get }
    var centerXAnchor: NSLayoutXAxisAnchor { get }
    var centerYAnchor: NSLayoutYAxisAnchor { get }
    var firstBaselineAnchor: NSLayoutYAxisAnchor { get }
    var lastBaselineAnchor: NSLayoutYAxisAnchor { get }
    var layoutGuides: [UILayoutGuide] { get }
    func addLayoutGuide(_ layoutGuide: UILayoutGuide)
    func removeLayoutGuide(_ layoutGuide: UILayoutGuide)
    func systemLayoutSizeFitting(_ targetSize: CGSize) -> CGSize
    func systemLayoutSizeFitting(_ targetSize: CGSize, withHorizontalFittingPriority horizontalFittingPriority: UILayoutPriority, verticalFittingPriority verticalFittingPriority: UILayoutPriority) -> CGSize
    func alignmentRect(forFrame frame: CGRect) -> CGRect
    func frame(forAlignmentRect alignmentRect: CGRect) -> CGRect
    var alignmentRectInsets: UIEdgeInsets { get }
    func forBaselineLayout() -> UIView
    var forFirstBaselineLayout: UIView { get }
    var forLastBaselineLayout: UIView { get }
    var intrinsicContentSize: CGSize { get }
    func invalidateIntrinsicContentSize()
    func contentHuggingPriority(for axis: UILayoutConstraintAxis) -> UILayoutPriority
    func setContentHuggingPriority(_ priority: UILayoutPriority, for axis: UILayoutConstraintAxis)
    func contentCompressionResistancePriority(for axis: UILayoutConstraintAxis) -> UILayoutPriority
    func setContentCompressionResistancePriority(_ priority: UILayoutPriority, for axis: UILayoutConstraintAxis)
    var translatesAutoresizingMaskIntoConstraints: Bool
    class var requiresConstraintBasedLayout: Bool { get }
    func updateConstraintsIfNeeded()
    func updateConstraints()
    func needsUpdateConstraints() -> Bool
    func setNeedsUpdateConstraints()
    var constraints: [NSLayoutConstraint] { get }
    func addConstraint(_ constraint: NSLayoutConstraint)
    func addConstraints(_ constraints: [NSLayoutConstraint])
    func removeConstraint(_ constraint: NSLayoutConstraint)
    func removeConstraints(_ constraints: [NSLayoutConstraint])
    func addMotionEffect(_ effect: UIMotionEffect)
    func removeMotionEffect(_ effect: UIMotionEffect)
    var motionEffects: [UIMotionEffect]
    var gestureRecognizers: [UIGestureRecognizer]?
    func addGestureRecognizer(_ gestureRecognizer: UIGestureRecognizer)
    func removeGestureRecognizer(_ gestureRecognizer: UIGestureRecognizer)
    func gestureRecognizerShouldBegin(_ gestureRecognizer: UIGestureRecognizer) -> Bool
    class func animateKeyframes(withDuration duration: TimeInterval, delay delay: TimeInterval, options options: UIViewKeyframeAnimationOptions = [], animations animations: @escaping () -> Void, completion completion: (@escaping (Bool) -> Void)? = nil)
    class func addKeyframe(withRelativeStartTime frameStartTime: Double, relativeDuration frameDuration: Double, animations animations: @escaping () -> Void)
    class func animate(withDuration duration: TimeInterval, delay delay: TimeInterval, options options: UIViewAnimationOptions = [], animations animations: @escaping () -> Void, completion completion: (@escaping (Bool) -> Void)? = nil)
    class func animate(withDuration duration: TimeInterval, animations animations: @escaping () -> Void, completion completion: (@escaping (Bool) -> Void)? = nil)
    class func animate(withDuration duration: TimeInterval, animations animations: @escaping () -> Void)
    class func animate(withDuration duration: TimeInterval, delay delay: TimeInterval, usingSpringWithDamping dampingRatio: CGFloat, initialSpringVelocity velocity: CGFloat, options options: UIViewAnimationOptions = [], animations animations: @escaping () -> Void, completion completion: (@escaping (Bool) -> Void)? = nil)
    class func transition(with view: UIView, duration duration: TimeInterval, options options: UIViewAnimationOptions = [], animations animations: (@escaping () -> Void)?, completion completion: (@escaping (Bool) -> Void)? = nil)
    class func transition(from fromView: UIView, to toView: UIView, duration duration: TimeInterval, options options: UIViewAnimationOptions = [], completion completion: (@escaping (Bool) -> Void)? = nil)
    class func perform(_ animation: UISystemAnimation, on views: [UIView], options options: UIViewAnimationOptions = [], animations parallelAnimations: (@escaping () -> Void)?, completion completion: (@escaping (Bool) -> Void)? = nil)
    class func beginAnimations(_ animationID: String?, context context: UnsafeMutableRawPointer?)
    class func commitAnimations()
    class func setAnimationDelegate(_ delegate: Any?)
    class func setAnimationWillStart(_ selector: Selector?)
    class func setAnimationDidStop(_ selector: Selector?)
    class func setAnimationDuration(_ duration: TimeInterval)
    class func setAnimationDelay(_ delay: TimeInterval)
    class func setAnimationStart(_ startDate: Date)
    class func setAnimationCurve(_ curve: UIViewAnimationCurve)
    class func setAnimationRepeatCount(_ repeatCount: Float)
    class func setAnimationRepeatAutoreverses(_ repeatAutoreverses: Bool)
    class func setAnimationBeginsFromCurrentState(_ fromCurrentState: Bool)
    class func setAnimationTransition(_ transition: UIViewAnimationTransition, for view: UIView, cache cache: Bool)
    class func setAnimationsEnabled(_ enabled: Bool)
    class var areAnimationsEnabled: Bool { get }
    class func performWithoutAnimation(_ actionsWithoutAnimation: () -> Void)
    class var inheritedAnimationDuration: TimeInterval { get }
    func draw(_ rect: CGRect)
    func setNeedsDisplay()
    func setNeedsDisplay(_ rect: CGRect)
    var clipsToBounds: Bool
    @NSCopying var backgroundColor: UIColor?
    var alpha: CGFloat
    var isOpaque: Bool
    var clearsContextBeforeDrawing: Bool
    var isHidden: Bool
    var contentMode: UIViewContentMode
    var contentStretch: CGRect
    var mask: UIView?
    var tintColor: UIColor!
    var tintAdjustmentMode: UIViewTintAdjustmentMode
    func tintColorDidChange()
    var superview: UIView? { get }
    var subviews: [UIView] { get }
    var window: UIWindow? { get }
    func removeFromSuperview()
    func insertSubview(_ view: UIView, at index: Int)
    func exchangeSubview(at index1: Int, withSubviewAt index2: Int)
    func addSubview(_ view: UIView)
    func insertSubview(_ view: UIView, belowSubview siblingSubview: UIView)
    func insertSubview(_ view: UIView, aboveSubview siblingSubview: UIView)
    func bringSubview(toFront view: UIView)
    func sendSubview(toBack view: UIView)
    func didAddSubview(_ subview: UIView)
    func willRemoveSubview(_ subview: UIView)
    func willMove(toSuperview newSuperview: UIView?)
    func didMoveToSuperview()
    func willMove(toWindow newWindow: UIWindow?)
    func didMoveToWindow()
    func isDescendant(of view: UIView) -> Bool
    func viewWithTag(_ tag: Int) -> UIView?
    func setNeedsLayout()
    func layoutIfNeeded()
    func layoutSubviews()
    var layoutMargins: UIEdgeInsets
    var preservesSuperviewLayoutMargins: Bool
    func layoutMarginsDidChange()
    var layoutMarginsGuide: UILayoutGuide { get }
    var readableContentGuide: UILayoutGuide { get }
    var frame: CGRect
    var bounds: CGRect
    var center: CGPoint
    var transform: CGAffineTransform
    var contentScaleFactor: CGFloat
    var isMultipleTouchEnabled: Bool
    var isExclusiveTouch: Bool
    func hitTest(_ point: CGPoint, with event: UIEvent?) -> UIView?
    func point(inside point: CGPoint, with event: UIEvent?) -> Bool
    func convert(_ point: CGPoint, to view: UIView?) -> CGPoint
    func convert(_ point: CGPoint, from view: UIView?) -> CGPoint
    func convert(_ rect: CGRect, to view: UIView?) -> CGRect
    func convert(_ rect: CGRect, from view: UIView?) -> CGRect
    var autoresizesSubviews: Bool
    var autoresizingMask: UIViewAutoresizing
    func sizeThatFits(_ size: CGSize) -> CGSize
    func sizeToFit()
    var userActivity: NSUserActivity?
    func updateUserActivityState(_ activity: NSUserActivity)
    func restoreUserActivityState(_ activity: NSUserActivity)
    var inputView: UIView? { get }
    var inputAccessoryView: UIView? { get }
    var inputAssistantItem: UITextInputAssistantItem { get }
    var inputViewController: UIInputViewController? { get }
    var inputAccessoryViewController: UIInputViewController? { get }
    var textInputMode: UITextInputMode? { get }
    var textInputContextIdentifier: String? { get }
    class func clearTextInputContextIdentifier(_ identifier: String)
    func reloadInputViews()
    var keyCommands: [UIKeyCommand]? { get }
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension MTKView : UIAccessibilityIdentification {
}
extension MTKView : CVarArg {
}
extension MTKView : Equatable, Hashable {
    var hashValue: Int { get }
}
CALayerDelegate, CVarArg, Equatable, Hashable, NSCoding, UIAccessibilityIdentification

Declaration
From
var paused: Bool
To
var isPaused: Bool

Declaration
From
protocol MTKViewDelegate : NSObjectProtocol {
    func mtkView(_ view: MTKView, drawableSizeWillChange size: CGSize)
    func drawInMTKView(_ view: MTKView)
}
To
protocol MTKViewDelegate : NSObjectProtocol {
    func mtkView(_ view: MTKView, drawableSizeWillChange size: CGSize)
    func draw(in view: MTKView)
}

Declaration
From
func drawInMTKView(_ view: MTKView)
To
func draw(in view: MTKView)

Declaration
From
typealias MTKTextureLoaderCallback = (MTLTexture?, NSError?) -> Void
To
typealias MTKTextureLoaderCallback = (MTLTexture?, Error?) -> Swift.Void