Documentation Archive Developer
Search

GameplayKit Changes for Swift

GameplayKit

Removed GKEntity.componentForClass<ComponentType : GKComponent>(_: ComponentType.Type) -> ComponentType?
Removed GKStateMachine.stateForClass<StateType : GKState>(_: StateType.Type) -> StateType?
Added GKAgent3D
Added GKNoise
Added GKOctree
Added GKRTree
Added GKScene
Added GK_VERSION
Modified GKAgent
DeclarationProtocols
From
class GKAgent : GKComponent {
    weak var delegate: GKAgentDelegate?
    var behavior: GKBehavior?
    var mass: Float
    var radius: Float
    var speed: Float { get }
    var maxAcceleration: Float
    var maxSpeed: Float
}
--
To
class GKAgent : GKComponent, NSCoding {
    weak var delegate: GKAgentDelegate?
    var behavior: GKBehavior?
    var mass: Float
    var radius: Float
    var speed: Float
    var maxAcceleration: Float
    var maxSpeed: Float
}
NSCoding

Modified GKAgent.speed
DeclarationReadonly
From
var speed: Float { get }
yes
To
var speed: Float
--

Modified GKAgent2D
DeclarationProtocols
From
class GKAgent2D : GKAgent {
    var position: vector_float2
    var velocity: vector_float2 { get }
    var rotation: Float
    func updateWithDeltaTime(_ seconds: NSTimeInterval)
}
--
To
class GKAgent2D : GKAgent, NSCoding {
    var position: vector_float2
    var velocity: vector_float2 { get }
    var rotation: Float
    func update(deltaTime seconds: TimeInterval)
}
NSCoding

Declaration
From
func updateWithDeltaTime(_ seconds: NSTimeInterval)
To
func update(deltaTime seconds: TimeInterval)

Declaration
From
class GKARC4RandomSource : GKRandomSource {
    @NSCopying var seed: NSData
    convenience init()
    init(seed seed: NSData)
    func dropValuesWithCount(_ count: Int)
}
To
class GKARC4RandomSource : GKRandomSource {
    var seed: Data
    convenience init()
    init(seed seed: Data)
    func dropValues(_ count: Int)
}

Declaration
From
func dropValuesWithCount(_ count: Int)
To
func dropValues(_ count: Int)

Declaration
From
init(seed seed: NSData)
To
init(seed seed: Data)

Declaration
From
@NSCopying var seed: NSData
To
var seed: Data

Modified GKBehavior
DeclarationProtocols
From
class GKBehavior : NSObject, NSFastEnumeration {
    var goalCount: Int { get }
    convenience init(goal goal: GKGoal, weight weight: Float)
    class func behaviorWithGoal(_ goal: GKGoal, weight weight: Float) -> Self
    convenience init(goals goals: [GKGoal])
    class func behaviorWithGoals(_ goals: [GKGoal]) -> Self
    convenience init(goals goals: [GKGoal], andWeights weights: [NSNumber])
    class func behaviorWithGoals(_ goals: [GKGoal], andWeights weights: [NSNumber]) -> Self
    convenience init(weightedGoals weightedGoals: [GKGoal : NSNumber])
    class func behaviorWithWeightedGoals(_ weightedGoals: [GKGoal : NSNumber]) -> Self
    func setWeight(_ weight: Float, forGoal goal: GKGoal)
    func weightForGoal(_ goal: GKGoal) -> Float
    func removeGoal(_ goal: GKGoal)
    func removeAllGoals()
    subscript (_ idx: Int) -> GKGoal { get }
    func objectAtIndexedSubscript(_ idx: Int) -> GKGoal
    func setObject(_ weight: NSNumber, forKeyedSubscript goal: GKGoal)
    subscript (_ goal: GKGoal) -> NSNumber
    func objectForKeyedSubscript(_ goal: GKGoal) -> NSNumber
}
NSFastEnumeration
To
class GKBehavior : NSObject, NSFastEnumeration, NSCopying {
    var goalCount: Int { get }
    convenience init(goal goal: GKGoal, weight weight: Float)
    class func withGoal(_ goal: GKGoal, weight weight: Float) -> Self
    convenience init(goals goals: [GKGoal])
    class func withGoals(_ goals: [GKGoal]) -> Self
    convenience init(goals goals: [GKGoal], andWeights weights: [NSNumber])
    class func withGoals(_ goals: [GKGoal], andWeights weights: [NSNumber]) -> Self
    convenience init(weightedGoals weightedGoals: [GKGoal : NSNumber])
    class func withWeightedGoals(_ weightedGoals: [GKGoal : NSNumber]) -> Self
    func setWeight(_ weight: Float, for goal: GKGoal)
    func weight(for goal: GKGoal) -> Float
    func remove(_ goal: GKGoal)
    func removeAllGoals()
    subscript(_ idx: Int) -> GKGoal { get }
    func objectAtIndexedSubscript(_ idx: Int) -> GKGoal
    func setObject(_ weight: NSNumber, forKeyedSubscript goal: GKGoal)
    subscript(_ goal: GKGoal) -> NSNumber?
    func objectForKeyedSubscript(_ goal: GKGoal) -> NSNumber?
    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 GKBehavior : CVarArg {
}
extension GKBehavior : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable, NSCopying, NSFastEnumeration

Declaration
From
func removeGoal(_ goal: GKGoal)
To
func remove(_ goal: GKGoal)

Declaration
From
func setWeight(_ weight: Float, forGoal goal: GKGoal)
To
func setWeight(_ weight: Float, for goal: GKGoal)

Declaration
From
subscript (_ goal: GKGoal) -> NSNumber
To
subscript(_ goal: GKGoal) -> NSNumber?

Declaration
From
subscript (_ idx: Int) -> GKGoal { get }
To
subscript(_ idx: Int) -> GKGoal { get }

Declaration
From
func weightForGoal(_ goal: GKGoal) -> Float
To
func weight(for goal: GKGoal) -> Float

Declaration
From
class GKCircleObstacle : GKObstacle {
    var radius: Float
    var position: vector_float2
    convenience init(radius radius: Float)
    class func obstacleWithRadius(_ radius: Float) -> Self
    init(radius radius: Float)
}
To
class GKCircleObstacle : GKObstacle {
    var radius: Float
    var position: vector_float2
    convenience init(radius radius: Float)
    class func withRadius(_ radius: Float) -> Self
    init(radius radius: Float)
}

Modified GKComponent
DeclarationProtocols
From
class GKComponent : NSObject, NSCopying {
    weak var entity: GKEntity? { get }
    func updateWithDeltaTime(_ seconds: NSTimeInterval)
}
NSCopying
To
class GKComponent : NSObject, NSCopying, NSCoding {
    weak var entity: GKEntity? { get }
    func update(deltaTime seconds: TimeInterval)
    func didAddToEntity()
    func willRemoveFromEntity()
    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 GKComponent : CVarArg {
}
extension GKComponent : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable, NSCoding, NSCopying

Declaration
From
func updateWithDeltaTime(_ seconds: NSTimeInterval)
To
func update(deltaTime seconds: TimeInterval)

DeclarationProtocolsGenerics[Constraints]Generics[Parameters]
From
class GKComponentSystem : NSObject, NSFastEnumeration {
    var componentClass: AnyClass { get }
    var components: [GKComponent] { get }
    subscript (_ idx: Int) -> GKComponent { get }
    func objectAtIndexedSubscript(_ idx: Int) -> GKComponent
    init(componentClass cls: AnyClass)
    func addComponent(_ component: GKComponent)
    func addComponentWithEntity(_ entity: GKEntity)
    func removeComponentWithEntity(_ entity: GKEntity)
    func removeComponent(_ component: GKComponent)
    func updateWithDeltaTime(_ seconds: NSTimeInterval)
}
NSFastEnumeration
--
To
class GKComponentSystem<ComponentType : GKComponent> : NSObject, NSFastEnumeration {
    var componentClass: Swift.AnyClass { get }
    var components: [ComponentType] { get }
    subscript(_ idx: Int) -> ComponentType { get }
    func objectAtIndexedSubscript(_ idx: Int) -> ComponentType
    init(componentClass cls: Swift.AnyClass)
    func addComponent(_ component: ComponentType)
    func addComponent(foundIn entity: GKEntity)
    func removeComponent(foundIn entity: GKEntity)
    func removeComponent(_ component: ComponentType)
    func update(deltaTime seconds: TimeInterval)
    func classForGenericArgument(at index: Int) -> Swift.AnyClass
    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 GKComponentSystem : CVarArg {
}
extension GKComponentSystem : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable, NSFastEnumeration
ComponentType : GKComponent
ComponentType

Declaration
From
func addComponent(_ component: GKComponent)
To
func addComponent(_ component: ComponentType)

Declaration
From
func addComponentWithEntity(_ entity: GKEntity)
To
func addComponent(foundIn entity: GKEntity)

Declaration
From
var componentClass: AnyClass { get }
To
var componentClass: Swift.AnyClass { get }

Declaration
From
var components: [GKComponent] { get }
To
var components: [ComponentType] { get }

Declaration
From
init(componentClass cls: AnyClass)
To
init(componentClass cls: Swift.AnyClass)

Declaration
From
func removeComponent(_ component: GKComponent)
To
func removeComponent(_ component: ComponentType)

Declaration
From
func removeComponentWithEntity(_ entity: GKEntity)
To
func removeComponent(foundIn entity: GKEntity)

Declaration
From
subscript (_ idx: Int) -> GKComponent { get }
To
subscript(_ idx: Int) -> ComponentType { get }

Declaration
From
func updateWithDeltaTime(_ seconds: NSTimeInterval)
To
func update(deltaTime seconds: TimeInterval)

Modified GKEntity
DeclarationProtocols
From
class GKEntity : NSObject, NSCopying {
    convenience init()
    class func entity() -> Self
    init()
    func updateWithDeltaTime(_ seconds: NSTimeInterval)
    var components: [GKComponent] { get }
    func addComponent(_ component: GKComponent)
    func removeComponentForClass(_ componentClass: AnyClass)
    func componentForClass(_ componentClass: AnyClass) -> GKComponent?
}
extension GKEntity {
    @warn_unused_result
    func componentForClass<ComponentType : GKComponent>(_ componentClass: ComponentType.Type) -> ComponentType?
}
extension GKEntity {
    @warn_unused_result
    func componentForClass<ComponentType : GKComponent>(_ componentClass: ComponentType.Type) -> ComponentType?
}
NSCopying
To
class GKEntity : NSObject, NSCopying, NSCoding {
    convenience init()
    class func entity() -> Self
    init()
    func update(deltaTime seconds: TimeInterval)
    var components: [GKComponent] { get }
    func addComponent(_ component: GKComponent)
    func __removeComponent(for componentClass: Swift.AnyClass)
    func __component(for componentClass: Swift.AnyClass) -> GKComponent?
    func component<ComponentType : GKComponent>(ofType componentClass: ComponentType.Type) -> ComponentType?
    func removeComponent<ComponentType : GKComponent>(ofType componentClass: ComponentType.Type)
    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 GKEntity : CVarArg {
}
extension GKEntity : Equatable, Hashable {
    var hashValue: Int { get }
}
extension GKEntity {
    func component<ComponentType : GKComponent>(ofType componentClass: ComponentType.Type) -> ComponentType?
    func removeComponent<ComponentType : GKComponent>(ofType componentClass: ComponentType.Type)
}
CVarArg, Equatable, Hashable, NSCoding, NSCopying

Declaration
From
func updateWithDeltaTime(_ seconds: NSTimeInterval)
To
func update(deltaTime seconds: TimeInterval)

Modified GKGameModel
Declaration
From
protocol GKGameModel : NSObjectProtocol, NSCopying {
    var players: [GKGameModelPlayer]? { get }
    var activePlayer: GKGameModelPlayer? { get }
    func setGameModel(_ gameModel: GKGameModel)
    func gameModelUpdatesForPlayer(_ player: GKGameModelPlayer) -> [GKGameModelUpdate]?
    func applyGameModelUpdate(_ gameModelUpdate: GKGameModelUpdate)
    optional func scoreForPlayer(_ player: GKGameModelPlayer) -> Int
    optional func isWinForPlayer(_ player: GKGameModelPlayer) -> Bool
    optional func isLossForPlayer(_ player: GKGameModelPlayer) -> Bool
    optional func unapplyGameModelUpdate(_ gameModelUpdate: GKGameModelUpdate)
}
To
protocol GKGameModel : NSObjectProtocol, NSCopying {
    var players: [GKGameModelPlayer]? { get }
    var activePlayer: GKGameModelPlayer? { get }
    func setGameModel(_ gameModel: GKGameModel)
    func gameModelUpdates(for player: GKGameModelPlayer) -> [GKGameModelUpdate]?
    func apply(_ gameModelUpdate: GKGameModelUpdate)
    optional func score(for player: GKGameModelPlayer) -> Int
    optional func isWin(for player: GKGameModelPlayer) -> Bool
    optional func isLoss(for player: GKGameModelPlayer) -> Bool
    optional func unapplyGameModelUpdate(_ gameModelUpdate: GKGameModelUpdate)
}

Declaration
From
func applyGameModelUpdate(_ gameModelUpdate: GKGameModelUpdate)
To
func apply(_ gameModelUpdate: GKGameModelUpdate)

Declaration
From
func gameModelUpdatesForPlayer(_ player: GKGameModelPlayer) -> [GKGameModelUpdate]?
To
func gameModelUpdates(for player: GKGameModelPlayer) -> [GKGameModelUpdate]?

Declaration
From
optional func isLossForPlayer(_ player: GKGameModelPlayer) -> Bool
To
optional func isLoss(for player: GKGameModelPlayer) -> Bool

Declaration
From
optional func isWinForPlayer(_ player: GKGameModelPlayer) -> Bool
To
optional func isWin(for player: GKGameModelPlayer) -> Bool

Declaration
From
optional func scoreForPlayer(_ player: GKGameModelPlayer) -> Int
To
optional func score(for player: GKGameModelPlayer) -> Int

Modified GKGoal
DeclarationProtocols
From
class GKGoal : NSObject, NSCopying {
    convenience init(toSeekAgent agent: GKAgent)
    class func goalToSeekAgent(_ agent: GKAgent) -> Self
    convenience init(toFleeAgent agent: GKAgent)
    class func goalToFleeAgent(_ agent: GKAgent) -> Self
    convenience init(toAvoidObstacles obstacles: [GKObstacle], maxPredictionTime maxPredictionTime: NSTimeInterval)
    class func goalToAvoidObstacles(_ obstacles: [GKObstacle], maxPredictionTime maxPredictionTime: NSTimeInterval) -> Self
    convenience init(toAvoidAgents agents: [GKAgent], maxPredictionTime maxPredictionTime: NSTimeInterval)
    class func goalToAvoidAgents(_ agents: [GKAgent], maxPredictionTime maxPredictionTime: NSTimeInterval) -> Self
    convenience init(toSeparateFromAgents agents: [GKAgent], maxDistance maxDistance: Float, maxAngle maxAngle: Float)
    class func goalToSeparateFromAgents(_ agents: [GKAgent], maxDistance maxDistance: Float, maxAngle maxAngle: Float) -> Self
    convenience init(toAlignWithAgents agents: [GKAgent], maxDistance maxDistance: Float, maxAngle maxAngle: Float)
    class func goalToAlignWithAgents(_ agents: [GKAgent], maxDistance maxDistance: Float, maxAngle maxAngle: Float) -> Self
    convenience init(toCohereWithAgents agents: [GKAgent], maxDistance maxDistance: Float, maxAngle maxAngle: Float)
    class func goalToCohereWithAgents(_ agents: [GKAgent], maxDistance maxDistance: Float, maxAngle maxAngle: Float) -> Self
    convenience init(toReachTargetSpeed targetSpeed: Float)
    class func goalToReachTargetSpeed(_ targetSpeed: Float) -> Self
    convenience init(toWander speed: Float)
    class func goalToWander(_ speed: Float) -> Self
    convenience init(toInterceptAgent target: GKAgent, maxPredictionTime maxPredictionTime: NSTimeInterval)
    class func goalToInterceptAgent(_ target: GKAgent, maxPredictionTime maxPredictionTime: NSTimeInterval) -> Self
    convenience init(toFollowPath path: GKPath, maxPredictionTime maxPredictionTime: NSTimeInterval, forward forward: Bool)
    class func goalToFollowPath(_ path: GKPath, maxPredictionTime maxPredictionTime: NSTimeInterval, forward forward: Bool) -> Self
    convenience init(toStayOnPath path: GKPath, maxPredictionTime maxPredictionTime: NSTimeInterval)
    class func goalToStayOnPath(_ path: GKPath, maxPredictionTime maxPredictionTime: NSTimeInterval) -> Self
}
NSCopying
To
class GKGoal : NSObject, NSCopying {
    convenience init(toSeekAgent agent: GKAgent)
    class func toSeekAgent(_ agent: GKAgent) -> Self
    convenience init(toFleeAgent agent: GKAgent)
    class func toFleeAgent(_ agent: GKAgent) -> Self
    convenience init(toAvoid obstacles: [GKObstacle], maxPredictionTime maxPredictionTime: TimeInterval)
    class func toAvoid(_ obstacles: [GKObstacle], maxPredictionTime maxPredictionTime: TimeInterval) -> Self
    convenience init(toAvoid agents: [GKAgent], maxPredictionTime maxPredictionTime: TimeInterval)
    class func toAvoid(_ agents: [GKAgent], maxPredictionTime maxPredictionTime: TimeInterval) -> Self
    convenience init(toSeparateFrom agents: [GKAgent], maxDistance maxDistance: Float, maxAngle maxAngle: Float)
    class func toSeparate(from agents: [GKAgent], maxDistance maxDistance: Float, maxAngle maxAngle: Float) -> Self
    convenience init(toAlignWith agents: [GKAgent], maxDistance maxDistance: Float, maxAngle maxAngle: Float)
    class func toAlign(with agents: [GKAgent], maxDistance maxDistance: Float, maxAngle maxAngle: Float) -> Self
    convenience init(toCohereWith agents: [GKAgent], maxDistance maxDistance: Float, maxAngle maxAngle: Float)
    class func toCohere(with agents: [GKAgent], maxDistance maxDistance: Float, maxAngle maxAngle: Float) -> Self
    convenience init(toReachTargetSpeed targetSpeed: Float)
    class func toReachTargetSpeed(_ targetSpeed: Float) -> Self
    convenience init(toWander speed: Float)
    class func toWander(_ speed: Float) -> Self
    convenience init(toInterceptAgent target: GKAgent, maxPredictionTime maxPredictionTime: TimeInterval)
    class func toInterceptAgent(_ target: GKAgent, maxPredictionTime maxPredictionTime: TimeInterval) -> Self
    convenience init(toFollow path: GKPath, maxPredictionTime maxPredictionTime: TimeInterval, forward forward: Bool)
    class func toFollow(_ path: GKPath, maxPredictionTime maxPredictionTime: TimeInterval, forward forward: Bool) -> Self
    convenience init(toStayOn path: GKPath, maxPredictionTime maxPredictionTime: TimeInterval)
    class func toStay(on path: GKPath, maxPredictionTime maxPredictionTime: TimeInterval) -> Self
    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 GKGoal : CVarArg {
}
extension GKGoal : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable, NSCopying

Declaration
From
convenience init(toAlignWithAgents agents: [GKAgent], maxDistance maxDistance: Float, maxAngle maxAngle: Float)
To
convenience init(toAlignWith agents: [GKAgent], maxDistance maxDistance: Float, maxAngle maxAngle: Float)

Declaration
From
convenience init(toAvoidAgents agents: [GKAgent], maxPredictionTime maxPredictionTime: NSTimeInterval)
To
convenience init(toAvoid agents: [GKAgent], maxPredictionTime maxPredictionTime: TimeInterval)

Declaration
From
convenience init(toAvoidObstacles obstacles: [GKObstacle], maxPredictionTime maxPredictionTime: NSTimeInterval)
To
convenience init(toAvoid obstacles: [GKObstacle], maxPredictionTime maxPredictionTime: TimeInterval)

Declaration
From
convenience init(toCohereWithAgents agents: [GKAgent], maxDistance maxDistance: Float, maxAngle maxAngle: Float)
To
convenience init(toCohereWith agents: [GKAgent], maxDistance maxDistance: Float, maxAngle maxAngle: Float)

Declaration
From
convenience init(toFollowPath path: GKPath, maxPredictionTime maxPredictionTime: NSTimeInterval, forward forward: Bool)
To
convenience init(toFollow path: GKPath, maxPredictionTime maxPredictionTime: TimeInterval, forward forward: Bool)

Declaration
From
convenience init(toInterceptAgent target: GKAgent, maxPredictionTime maxPredictionTime: NSTimeInterval)
To
convenience init(toInterceptAgent target: GKAgent, maxPredictionTime maxPredictionTime: TimeInterval)

Declaration
From
convenience init(toSeparateFromAgents agents: [GKAgent], maxDistance maxDistance: Float, maxAngle maxAngle: Float)
To
convenience init(toSeparateFrom agents: [GKAgent], maxDistance maxDistance: Float, maxAngle maxAngle: Float)

Declaration
From
convenience init(toStayOnPath path: GKPath, maxPredictionTime maxPredictionTime: NSTimeInterval)
To
convenience init(toStayOn path: GKPath, maxPredictionTime maxPredictionTime: TimeInterval)

Modified GKGraph
DeclarationProtocols
From
class GKGraph : NSObject {
    var nodes: [GKGraphNode]? { get }
    convenience init(nodes nodes: [GKGraphNode])
    class func graphWithNodes(_ nodes: [GKGraphNode]) -> Self
    init(nodes nodes: [GKGraphNode])
    func connectNodeToLowestCostNode(_ node: GKGraphNode, bidirectional bidirectional: Bool)
    func removeNodes(_ nodes: [GKGraphNode])
    func addNodes(_ nodes: [GKGraphNode])
    func findPathFromNode(_ startNode: GKGraphNode, toNode endNode: GKGraphNode) -> [GKGraphNode]
}
--
To
class GKGraph : NSObject, NSCopying, NSCoding {
    var nodes: [GKGraphNode]? { get }
    convenience init(nodes nodes: [GKGraphNode])
    class func withNodes(_ nodes: [GKGraphNode]) -> Self
    init(_ nodes: [GKGraphNode])
    func connectToLowestCostNode(node node: GKGraphNode, bidirectional bidirectional: Bool)
    func remove(_ nodes: [GKGraphNode])
    func add(_ nodes: [GKGraphNode])
    func findPath(from startNode: GKGraphNode, to endNode: GKGraphNode) -> [GKGraphNode]
    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 GKGraph : CVarArg {
}
extension GKGraph : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable, NSCoding, NSCopying

Declaration
From
func addNodes(_ nodes: [GKGraphNode])
To
func add(_ nodes: [GKGraphNode])

Declaration
From
func connectNodeToLowestCostNode(_ node: GKGraphNode, bidirectional bidirectional: Bool)
To
func connectToLowestCostNode(node node: GKGraphNode, bidirectional bidirectional: Bool)

Declaration
From
func findPathFromNode(_ startNode: GKGraphNode, toNode endNode: GKGraphNode) -> [GKGraphNode]
To
func findPath(from startNode: GKGraphNode, to endNode: GKGraphNode) -> [GKGraphNode]

Declaration
From
init(nodes nodes: [GKGraphNode])
To
init(_ nodes: [GKGraphNode])

Declaration
From
func removeNodes(_ nodes: [GKGraphNode])
To
func remove(_ nodes: [GKGraphNode])

Modified GKGraphNode
DeclarationProtocols
From
class GKGraphNode : NSObject {
    var connectedNodes: [GKGraphNode] { get }
    func addConnectionsToNodes(_ nodes: [GKGraphNode], bidirectional bidirectional: Bool)
    func removeConnectionsToNodes(_ nodes: [GKGraphNode], bidirectional bidirectional: Bool)
    func estimatedCostToNode(_ node: GKGraphNode) -> Float
    func costToNode(_ node: GKGraphNode) -> Float
    func findPathToNode(_ goalNode: GKGraphNode) -> [GKGraphNode]
    func findPathFromNode(_ startNode: GKGraphNode) -> [GKGraphNode]
}
--
To
class GKGraphNode : NSObject, NSCoding {
    var connectedNodes: [GKGraphNode] { get }
    func addConnections(to nodes: [GKGraphNode], bidirectional bidirectional: Bool)
    func removeConnections(to nodes: [GKGraphNode], bidirectional bidirectional: Bool)
    func estimatedCost(to node: GKGraphNode) -> Float
    func cost(to node: GKGraphNode) -> Float
    func findPath(to goalNode: GKGraphNode) -> [GKGraphNode]
    func findPath(from startNode: GKGraphNode) -> [GKGraphNode]
    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 GKGraphNode : CVarArg {
}
extension GKGraphNode : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable, NSCoding

Declaration
From
func addConnectionsToNodes(_ nodes: [GKGraphNode], bidirectional bidirectional: Bool)
To
func addConnections(to nodes: [GKGraphNode], bidirectional bidirectional: Bool)

Declaration
From
func costToNode(_ node: GKGraphNode) -> Float
To
func cost(to node: GKGraphNode) -> Float

Declaration
From
func estimatedCostToNode(_ node: GKGraphNode) -> Float
To
func estimatedCost(to node: GKGraphNode) -> Float

Declaration
From
func findPathFromNode(_ startNode: GKGraphNode) -> [GKGraphNode]
To
func findPath(from startNode: GKGraphNode) -> [GKGraphNode]

Declaration
From
func findPathToNode(_ goalNode: GKGraphNode) -> [GKGraphNode]
To
func findPath(to goalNode: GKGraphNode) -> [GKGraphNode]

Declaration
From
func removeConnectionsToNodes(_ nodes: [GKGraphNode], bidirectional bidirectional: Bool)
To
func removeConnections(to nodes: [GKGraphNode], bidirectional bidirectional: Bool)

Modified GKGraphNode2D
Declaration
From
class GKGraphNode2D : GKGraphNode {
    var position: vector_float2
    class func nodeWithPoint(_ point: vector_float2) -> Self
    init(point point: vector_float2)
}
To
class GKGraphNode2D : GKGraphNode {
    var position: vector_float2
    class func node(withPoint point: vector_float2) -> Self
    init(point point: vector_float2)
}

Declaration
From
class func nodeWithPoint(_ point: vector_float2) -> Self
To
class func node(withPoint point: vector_float2) -> Self

Modified GKGridGraph
DeclarationGenerics[Constraints]Generics[Parameters]
From
class GKGridGraph : GKGraph {
    var gridOrigin: vector_int2 { get }
    var gridWidth: Int { get }
    var gridHeight: Int { get }
    var diagonalsAllowed: Bool { get }
    convenience init(fromGridStartingAt position: vector_int2, width width: Int32, height height: Int32, diagonalsAllowed diagonalsAllowed: Bool)
    class func graphFromGridStartingAt(_ position: vector_int2, width width: Int32, height height: Int32, diagonalsAllowed diagonalsAllowed: Bool) -> Self
    init(fromGridStartingAt position: vector_int2, width width: Int32, height height: Int32, diagonalsAllowed diagonalsAllowed: Bool)
    func nodeAtGridPosition(_ position: vector_int2) -> GKGridGraphNode?
    func connectNodeToAdjacentNodes(_ node: GKGridGraphNode)
}
--
To
class GKGridGraph<NodeType : GKGridGraphNode> : GKGraph {
    var gridOrigin: vector_int2 { get }
    var gridWidth: Int { get }
    var gridHeight: Int { get }
    var diagonalsAllowed: Bool { get }
    convenience init(fromGridStartingAt position: vector_int2, width width: Int32, height height: Int32, diagonalsAllowed diagonalsAllowed: Bool)
    class func fromGridStarting(at position: vector_int2, width width: Int32, height height: Int32, diagonalsAllowed diagonalsAllowed: Bool) -> Self
    init(fromGridStartingAt position: vector_int2, width width: Int32, height height: Int32, diagonalsAllowed diagonalsAllowed: Bool)
    convenience init(fromGridStartingAt position: vector_int2, width width: Int32, height height: Int32, diagonalsAllowed diagonalsAllowed: Bool, nodeClass nodeClass: Swift.AnyClass)
    class func fromGridStarting(at position: vector_int2, width width: Int32, height height: Int32, diagonalsAllowed diagonalsAllowed: Bool, nodeClass nodeClass: Swift.AnyClass) -> Self
    init(fromGridStartingAt position: vector_int2, width width: Int32, height height: Int32, diagonalsAllowed diagonalsAllowed: Bool, nodeClass nodeClass: Swift.AnyClass)
    func node(atGridPosition position: vector_int2) -> NodeType?
    func connectToAdjacentNodes(node node: GKGridGraphNode)
    func classForGenericArgument(at index: Int) -> Swift.AnyClass
}
NodeType : GKGridGraphNode
NodeType

Declaration
From
func connectNodeToAdjacentNodes(_ node: GKGridGraphNode)
To
func connectToAdjacentNodes(node node: GKGridGraphNode)

Declaration
From
func nodeAtGridPosition(_ position: vector_int2) -> GKGridGraphNode?
To
func node(atGridPosition position: vector_int2) -> NodeType?

Declaration
From
class GKGridGraphNode : GKGraphNode {
    var gridPosition: vector_int2
    convenience init(gridPosition gridPosition: vector_int2)
    class func nodeWithGridPosition(_ gridPosition: vector_int2) -> Self
    init(gridPosition gridPosition: vector_int2)
}
To
class GKGridGraphNode : GKGraphNode {
    var gridPosition: vector_int2 { get }
    convenience init(gridPosition gridPosition: vector_int2)
    class func withGridPosition(_ gridPosition: vector_int2) -> Self
    init(gridPosition gridPosition: vector_int2)
}

DeclarationReadonly
From
var gridPosition: vector_int2
--
To
var gridPosition: vector_int2 { get }
yes

DeclarationProtocols
From
class GKMinmaxStrategist : NSObject, GKStrategist {
    var maxLookAheadDepth: Int
    func bestMoveForPlayer(_ player: GKGameModelPlayer) -> GKGameModelUpdate?
    func randomMoveForPlayer(_ player: GKGameModelPlayer, fromNumberOfBestMoves numMovesToConsider: Int) -> GKGameModelUpdate?
}
GKStrategist
To
class GKMinmaxStrategist : NSObject, GKStrategist {
    var maxLookAheadDepth: Int
    func bestMove(for player: GKGameModelPlayer) -> GKGameModelUpdate?
    func randomMove(for player: GKGameModelPlayer, fromNumberOfBestMoves numMovesToConsider: Int) -> GKGameModelUpdate?
    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 GKMinmaxStrategist : CVarArg {
}
extension GKMinmaxStrategist : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, GKStrategist, Hashable

Declaration
From
func bestMoveForPlayer(_ player: GKGameModelPlayer) -> GKGameModelUpdate?
To
func bestMove(for player: GKGameModelPlayer) -> GKGameModelUpdate?

Declaration
From
func randomMoveForPlayer(_ player: GKGameModelPlayer, fromNumberOfBestMoves numMovesToConsider: Int) -> GKGameModelUpdate?
To
func randomMove(for player: GKGameModelPlayer, fromNumberOfBestMoves numMovesToConsider: Int) -> GKGameModelUpdate?

Declaration
From
class GKNSPredicateRule : GKRule {
    var predicate: NSPredicate { get }
    init(predicate predicate: NSPredicate)
    func evaluatePredicateWithSystem(_ system: GKRuleSystem) -> Bool
}
To
class GKNSPredicateRule : GKRule {
    var predicate: NSPredicate { get }
    init(predicate predicate: NSPredicate)
    func evaluatePredicate(in system: GKRuleSystem) -> Bool
}

Declaration
From
func evaluatePredicateWithSystem(_ system: GKRuleSystem) -> Bool
To
func evaluatePredicate(in system: GKRuleSystem) -> Bool

Modified GKObstacle
DeclarationProtocols
From
class GKObstacle : NSObject {
}
--
To
class GKObstacle : NSObject {
    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 GKObstacle : CVarArg {
}
extension GKObstacle : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable

DeclarationGenerics[Constraints]Generics[Parameters]
From
class GKObstacleGraph : GKGraph {
    var obstacles: [GKPolygonObstacle] { get }
    var bufferRadius: Float { get }
    convenience init(obstacles obstacles: [GKPolygonObstacle], bufferRadius bufferRadius: Float)
    class func graphWithObstacles(_ obstacles: [GKPolygonObstacle], bufferRadius bufferRadius: Float) -> Self
    init(obstacles obstacles: [GKPolygonObstacle], bufferRadius bufferRadius: Float)
    func connectNodeUsingObstacles(_ node: GKGraphNode2D)
    func connectNodeUsingObstacles(_ node: GKGraphNode2D, ignoringObstacles obstaclesToIgnore: [GKPolygonObstacle])
    func connectNodeUsingObstacles(_ node: GKGraphNode2D, ignoringBufferRadiusOfObstacles obstaclesBufferRadiusToIgnore: [GKPolygonObstacle])
    func addObstacles(_ obstacles: [GKPolygonObstacle])
    func removeObstacles(_ obstacles: [GKPolygonObstacle])
    func removeAllObstacles()
    func nodesForObstacle(_ obstacle: GKPolygonObstacle) -> [GKGraphNode2D]
    func lockConnectionFromNode(_ startNode: GKGraphNode2D, toNode endNode: GKGraphNode2D)
    func unlockConnectionFromNode(_ startNode: GKGraphNode2D, toNode endNode: GKGraphNode2D)
    func isConnectionLockedFromNode(_ startNode: GKGraphNode2D, toNode endNode: GKGraphNode2D) -> Bool
}
--
To
class GKObstacleGraph<NodeType : GKGraphNode2D> : GKGraph {
    var obstacles: [GKPolygonObstacle] { get }
    var bufferRadius: Float { get }
    convenience init(obstacles obstacles: [GKPolygonObstacle], bufferRadius bufferRadius: Float)
    class func withObstacles(_ obstacles: [GKPolygonObstacle], bufferRadius bufferRadius: Float) -> Self
    init(obstacles obstacles: [GKPolygonObstacle], bufferRadius bufferRadius: Float)
    convenience init(obstacles obstacles: [GKPolygonObstacle], bufferRadius bufferRadius: Float, nodeClass nodeClass: Swift.AnyClass)
    class func withObstacles(_ obstacles: [GKPolygonObstacle], bufferRadius bufferRadius: Float, nodeClass nodeClass: Swift.AnyClass) -> Self
    init(obstacles obstacles: [GKPolygonObstacle], bufferRadius bufferRadius: Float, nodeClass nodeClass: Swift.AnyClass)
    func connectUsingObstacles(node node: NodeType)
    func connectUsingObstacles(node node: NodeType, ignoring obstaclesToIgnore: [GKPolygonObstacle])
    func connectUsingObstacles(node node: NodeType, ignoringBufferRadiusOf obstaclesBufferRadiusToIgnore: [GKPolygonObstacle])
    func addObstacles(_ obstacles: [GKPolygonObstacle])
    func removeObstacles(_ obstacles: [GKPolygonObstacle])
    func removeAllObstacles()
    func nodes(for obstacle: GKPolygonObstacle) -> [NodeType]
    func lockConnection(from startNode: NodeType, to endNode: NodeType)
    func unlockConnection(from startNode: NodeType, to endNode: NodeType)
    func isConnectionLocked(from startNode: NodeType, to endNode: NodeType) -> Bool
    func classForGenericArgument(at index: Int) -> Swift.AnyClass
}
NodeType : GKGraphNode2D
NodeType

Declaration
From
func connectNodeUsingObstacles(_ node: GKGraphNode2D)
To
func connectUsingObstacles(node node: NodeType)

Declaration
From
func connectNodeUsingObstacles(_ node: GKGraphNode2D, ignoringObstacles obstaclesToIgnore: [GKPolygonObstacle])
To
func connectUsingObstacles(node node: NodeType, ignoring obstaclesToIgnore: [GKPolygonObstacle])

Declaration
From
func connectNodeUsingObstacles(_ node: GKGraphNode2D, ignoringBufferRadiusOfObstacles obstaclesBufferRadiusToIgnore: [GKPolygonObstacle])
To
func connectUsingObstacles(node node: NodeType, ignoringBufferRadiusOf obstaclesBufferRadiusToIgnore: [GKPolygonObstacle])

Declaration
From
func isConnectionLockedFromNode(_ startNode: GKGraphNode2D, toNode endNode: GKGraphNode2D) -> Bool
To
func isConnectionLocked(from startNode: NodeType, to endNode: NodeType) -> Bool

Declaration
From
func lockConnectionFromNode(_ startNode: GKGraphNode2D, toNode endNode: GKGraphNode2D)
To
func lockConnection(from startNode: NodeType, to endNode: NodeType)

Declaration
From
func nodesForObstacle(_ obstacle: GKPolygonObstacle) -> [GKGraphNode2D]
To
func nodes(for obstacle: GKPolygonObstacle) -> [NodeType]

Declaration
From
func unlockConnectionFromNode(_ startNode: GKGraphNode2D, toNode endNode: GKGraphNode2D)
To
func unlockConnection(from startNode: NodeType, to endNode: NodeType)

Modified GKPath
DeclarationProtocols
From
class GKPath : NSObject {
    var radius: Float
    var cyclical: Bool
    var numPoints: Int { get }
    convenience init(points points: UnsafeMutablePointer<vector_float2>, count count: Int, radius radius: Float, cyclical cyclical: Bool)
    class func pathWithPoints(_ points: UnsafeMutablePointer<vector_float2>, count count: Int, radius radius: Float, cyclical cyclical: Bool) -> Self
    init(points points: UnsafeMutablePointer<vector_float2>, count count: Int, radius radius: Float, cyclical cyclical: Bool)
    convenience init(graphNodes graphNodes: [GKGraphNode2D], radius radius: Float)
    class func pathWithGraphNodes(_ graphNodes: [GKGraphNode2D], radius radius: Float) -> Self
    convenience init(graphNodes graphNodes: [GKGraphNode2D], radius radius: Float)
    func pointAtIndex(_ index: Int) -> vector_float2
}
--
To
class GKPath : NSObject {
    var radius: Float
    var numPoints: Int { get }
    var isCyclical: Bool
    convenience init(__points points: UnsafeMutablePointer<vector_float2>, count count: Int, radius radius: Float, cyclical cyclical: Bool)
    class func __withPoints(_ points: UnsafeMutablePointer<vector_float2>, count count: Int, radius radius: Float, cyclical cyclical: Bool) -> Self
    init(__points points: UnsafeMutablePointer<vector_float2>, count count: Int, radius radius: Float, cyclical cyclical: Bool)
    convenience init(__float3Points points: UnsafeMutablePointer<vector_float3>, count count: Int, radius radius: Float, cyclical cyclical: Bool)
    class func __withFloat3Points(_ points: UnsafeMutablePointer<vector_float3>, count count: Int, radius radius: Float, cyclical cyclical: Bool) -> Self
    init(__float3Points points: UnsafeMutablePointer<vector_float3>, count count: Int, radius radius: Float, cyclical cyclical: Bool)
    convenience init(graphNodes graphNodes: [GKGraphNode], radius radius: Float)
    class func withGraphNodes(_ graphNodes: [GKGraphNode], radius radius: Float) -> Self
    init(graphNodes graphNodes: [GKGraphNode], radius radius: Float)
    func point(at index: Int) -> vector_float2
    func float2(at index: Int) -> vector_float2
    func float3(at index: Int) -> vector_float3
    convenience init(points points: [float2], radius radius: Float, cyclical cyclical: Bool)
    convenience init(points points: [float3], radius radius: Float, cyclical cyclical: Bool)
    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 GKPath : CVarArg {
}
extension GKPath : Equatable, Hashable {
    var hashValue: Int { get }
}
extension GKPath {
    convenience init(points points: [float2], radius radius: Float, cyclical cyclical: Bool)
}
extension GKPath {
    convenience init(points points: [float3], radius radius: Float, cyclical cyclical: Bool)
}
CVarArg, Equatable, Hashable

Declaration
From
init(points points: UnsafeMutablePointer<vector_float2>, count count: Int, radius radius: Float, cyclical cyclical: Bool)
To
init(__points points: UnsafeMutablePointer<vector_float2>, count count: Int, radius radius: Float, cyclical cyclical: Bool)

Declaration
From
convenience init(graphNodes graphNodes: [GKGraphNode2D], radius radius: Float)
To
init(graphNodes graphNodes: [GKGraphNode], radius radius: Float)

Declaration
From
var cyclical: Bool
To
var isCyclical: Bool

DeclarationDeprecation
From
func pointAtIndex(_ index: Int) -> vector_float2
--
To
func point(at index: Int) -> vector_float2
iOS 10.0

DeclarationProtocols
From
class GKPolygonObstacle : GKObstacle {
    var vertexCount: Int { get }
    convenience init(points points: UnsafeMutablePointer<vector_float2>, count numPoints: Int)
    class func obstacleWithPoints(_ points: UnsafeMutablePointer<vector_float2>, count numPoints: Int) -> Self
    init(points points: UnsafeMutablePointer<vector_float2>, count numPoints: Int)
    func vertexAtIndex(_ index: Int) -> vector_float2
}
--
To
class GKPolygonObstacle : GKObstacle, NSCoding {
    var vertexCount: Int { get }
    convenience init(__points points: UnsafeMutablePointer<vector_float2>, count numPoints: Int)
    class func __withPoints(_ points: UnsafeMutablePointer<vector_float2>, count numPoints: Int) -> Self
    init(__points points: UnsafeMutablePointer<vector_float2>, count numPoints: Int)
    func vertex(at index: Int) -> vector_float2
    convenience init(points points: [float2])
}
extension GKPolygonObstacle {
    convenience init(points points: [float2])
}
NSCoding

Declaration
From
init(points points: UnsafeMutablePointer<vector_float2>, count numPoints: Int)
To
init(__points points: UnsafeMutablePointer<vector_float2>, count numPoints: Int)

Declaration
From
func vertexAtIndex(_ index: Int) -> vector_float2
To
func vertex(at index: Int) -> vector_float2

Modified GKRandom
Declaration
From
protocol GKRandom {
    func nextInt() -> Int
    func nextIntWithUpperBound(_ upperBound: Int) -> Int
    func nextUniform() -> Float
    func nextBool() -> Bool
}
To
protocol GKRandom {
    func nextInt() -> Int
    func nextInt(upperBound upperBound: Int) -> Int
    func nextUniform() -> Float
    func nextBool() -> Bool
}

Declaration
From
func nextIntWithUpperBound(_ upperBound: Int) -> Int
To
func nextInt(upperBound upperBound: Int) -> Int

DeclarationProtocols
From
class GKRandomDistribution : NSObject, GKRandom {
    var lowestValue: Int { get }
    var highestValue: Int { get }
    var numberOfPossibleOutcomes: Int { get }
    init(randomSource source: GKRandom, lowestValue lowestInclusive: Int, highestValue highestInclusive: Int)
    func nextInt() -> Int
    func nextIntWithUpperBound(_ upperBound: Int) -> Int
    func nextUniform() -> Float
    func nextBool() -> Bool
    convenience init(lowestValue lowestInclusive: Int, highestValue highestInclusive: Int)
    class func distributionWithLowestValue(_ lowestInclusive: Int, highestValue highestInclusive: Int) -> Self
    convenience init(forDieWithSideCount sideCount: Int)
    class func distributionForDieWithSideCount(_ sideCount: Int) -> Self
    class func d6() -> Self
    class func d20() -> Self
}
GKRandom
To
class GKRandomDistribution : NSObject, GKRandom {
    var lowestValue: Int { get }
    var highestValue: Int { get }
    var numberOfPossibleOutcomes: Int { get }
    init(randomSource source: GKRandom, lowestValue lowestInclusive: Int, highestValue highestInclusive: Int)
    func nextInt() -> Int
    func nextInt(upperBound upperBound: Int) -> Int
    func nextUniform() -> Float
    func nextBool() -> Bool
    convenience init(lowestValue lowestInclusive: Int, highestValue highestInclusive: Int)
    class func withLowestValue(_ lowestInclusive: Int, highestValue highestInclusive: Int) -> Self
    convenience init(forDieWithSideCount sideCount: Int)
    class func forDieWithSideCount(_ sideCount: Int) -> Self
    class func d6() -> Self
    class func d20() -> Self
    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 GKRandomDistribution : CVarArg {
}
extension GKRandomDistribution : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, GKRandom, Hashable

Declaration
From
func nextIntWithUpperBound(_ upperBound: Int) -> Int
To
func nextInt(upperBound upperBound: Int) -> Int

DeclarationProtocols
From
class GKRandomSource : NSObject, GKRandom, NSSecureCoding, NSCopying {
    init()
    init(coder aDecoder: NSCoder)
    class func sharedRandom() -> GKRandomSource
    func arrayByShufflingObjectsInArray(_ array: [AnyObject]) -> [AnyObject]
}
GKRandom, NSCopying, NSSecureCoding
To
class GKRandomSource : NSObject, GKRandom, NSSecureCoding, NSCopying {
    init()
    init(coder aDecoder: NSCoder)
    class func sharedRandom() -> GKRandomSource
    func arrayByShufflingObjects(in array: [Any]) -> [Any]
    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 GKRandomSource : CVarArg {
}
extension GKRandomSource : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, GKRandom, Hashable, NSCopying, NSSecureCoding

Declaration
From
func arrayByShufflingObjectsInArray(_ array: [AnyObject]) -> [AnyObject]
To
func arrayByShufflingObjects(in array: [Any]) -> [Any]

Modified GKRule
DeclarationProtocols
From
class GKRule : NSObject {
    var salience: Int
    func evaluatePredicateWithSystem(_ system: GKRuleSystem) -> Bool
    func performActionWithSystem(_ system: GKRuleSystem)
    convenience init(predicate predicate: NSPredicate, assertingFact fact: NSObjectProtocol, grade grade: Float)
    class func ruleWithPredicate(_ predicate: NSPredicate, assertingFact fact: NSObjectProtocol, grade grade: Float) -> Self
    convenience init(predicate predicate: NSPredicate, retractingFact fact: NSObjectProtocol, grade grade: Float)
    class func ruleWithPredicate(_ predicate: NSPredicate, retractingFact fact: NSObjectProtocol, grade grade: Float) -> Self
    convenience init(blockPredicate predicate: (GKRuleSystem) -> Bool, action action: (GKRuleSystem) -> Void)
    class func ruleWithBlockPredicate(_ predicate: (GKRuleSystem) -> Bool, action action: (GKRuleSystem) -> Void) -> Self
}
--
To
class GKRule : NSObject {
    var salience: Int
    func evaluatePredicate(in system: GKRuleSystem) -> Bool
    func performAction(in system: GKRuleSystem)
    convenience init(predicate predicate: NSPredicate, assertingFact fact: NSObjectProtocol, grade grade: Float)
    class func withPredicate(_ predicate: NSPredicate, assertingFact fact: NSObjectProtocol, grade grade: Float) -> Self
    convenience init(predicate predicate: NSPredicate, retractingFact fact: NSObjectProtocol, grade grade: Float)
    class func withPredicate(_ predicate: NSPredicate, retractingFact fact: NSObjectProtocol, grade grade: Float) -> Self
    convenience init(blockPredicate predicate: @escaping (GKRuleSystem) -> Bool, action action: @escaping (GKRuleSystem) -> Swift.Void)
    class func withBlockPredicate(_ predicate: @escaping (GKRuleSystem) -> Bool, action action: @escaping (GKRuleSystem) -> Swift.Void) -> Self
    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 GKRule : CVarArg {
}
extension GKRule : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable

Declaration
From
func evaluatePredicateWithSystem(_ system: GKRuleSystem) -> Bool
To
func evaluatePredicate(in system: GKRuleSystem) -> Bool

Declaration
From
convenience init(blockPredicate predicate: (GKRuleSystem) -> Bool, action action: (GKRuleSystem) -> Void)
To
convenience init(blockPredicate predicate: @escaping (GKRuleSystem) -> Bool, action action: @escaping (GKRuleSystem) -> Swift.Void)

Declaration
From
func performActionWithSystem(_ system: GKRuleSystem)
To
func performAction(in system: GKRuleSystem)

Modified GKRuleSystem
DeclarationProtocols
From
class GKRuleSystem : NSObject {
    init()
    func evaluate()
    var state: NSMutableDictionary { get }
    var rules: [GKRule] { get }
    func addRule(_ rule: GKRule)
    func addRulesFromArray(_ rules: [GKRule])
    func removeAllRules()
    var agenda: [GKRule] { get }
    var executed: [GKRule] { get }
    var facts: [AnyObject] { get }
    func gradeForFact(_ fact: NSObjectProtocol) -> Float
    func minimumGradeForFacts(_ facts: [AnyObject]) -> Float
    func maximumGradeForFacts(_ facts: [AnyObject]) -> Float
    func assertFact(_ fact: NSObjectProtocol)
    func assertFact(_ fact: NSObjectProtocol, grade grade: Float)
    func retractFact(_ fact: NSObjectProtocol)
    func retractFact(_ fact: NSObjectProtocol, grade grade: Float)
    func reset()
}
--
To
class GKRuleSystem : NSObject {
    init()
    func evaluate()
    var state: NSMutableDictionary { get }
    var rules: [GKRule] { get }
    func add(_ rule: GKRule)
    func add(_ rules: [GKRule])
    func removeAllRules()
    var agenda: [GKRule] { get }
    var executed: [GKRule] { get }
    var facts: [Any] { get }
    func grade(forFact fact: NSObjectProtocol) -> Float
    func minimumGrade(forFacts facts: [Any]) -> Float
    func maximumGrade(forFacts facts: [Any]) -> Float
    func assertFact(_ fact: NSObjectProtocol)
    func assertFact(_ fact: NSObjectProtocol, grade grade: Float)
    func retractFact(_ fact: NSObjectProtocol)
    func retractFact(_ fact: NSObjectProtocol, grade grade: Float)
    func reset()
    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 GKRuleSystem : CVarArg {
}
extension GKRuleSystem : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable

Declaration
From
func addRule(_ rule: GKRule)
To
func add(_ rule: GKRule)

Declaration
From
func addRulesFromArray(_ rules: [GKRule])
To
func add(_ rules: [GKRule])

Declaration
From
var facts: [AnyObject] { get }
To
var facts: [Any] { get }

Declaration
From
func gradeForFact(_ fact: NSObjectProtocol) -> Float
To
func grade(forFact fact: NSObjectProtocol) -> Float

Declaration
From
func maximumGradeForFacts(_ facts: [AnyObject]) -> Float
To
func maximumGrade(forFacts facts: [Any]) -> Float

Declaration
From
func minimumGradeForFacts(_ facts: [AnyObject]) -> Float
To
func minimumGrade(forFacts facts: [Any]) -> Float

Modified GKState
DeclarationProtocols
From
class GKState : NSObject {
    weak var stateMachine: GKStateMachine? { get }
    convenience init()
    class func state() -> Self
    init()
    func isValidNextState(_ stateClass: AnyClass) -> Bool
    func didEnterWithPreviousState(_ previousState: GKState?)
    func updateWithDeltaTime(_ seconds: NSTimeInterval)
    func willExitWithNextState(_ nextState: GKState)
}
--
To
class GKState : NSObject {
    weak var stateMachine: GKStateMachine? { get }
    convenience init()
    class func state() -> Self
    init()
    func isValidNextState(_ stateClass: Swift.AnyClass) -> Bool
    func didEnter(from previousState: GKState?)
    func update(deltaTime seconds: TimeInterval)
    func willExit(to nextState: GKState)
    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 GKState : CVarArg {
}
extension GKState : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable

Declaration
From
func didEnterWithPreviousState(_ previousState: GKState?)
To
func didEnter(from previousState: GKState?)

Declaration
From
func isValidNextState(_ stateClass: AnyClass) -> Bool
To
func isValidNextState(_ stateClass: Swift.AnyClass) -> Bool

Declaration
From
func updateWithDeltaTime(_ seconds: NSTimeInterval)
To
func update(deltaTime seconds: TimeInterval)

Declaration
From
func willExitWithNextState(_ nextState: GKState)
To
func willExit(to nextState: GKState)

DeclarationProtocols
From
class GKStateMachine : NSObject {
    var currentState: GKState? { get }
    convenience init(states states: [GKState])
    class func stateMachineWithStates(_ states: [GKState]) -> Self
    init(states states: [GKState])
    func updateWithDeltaTime(_ sec: NSTimeInterval)
    func stateForClass(_ stateClass: AnyClass) -> GKState?
    func canEnterState(_ stateClass: AnyClass) -> Bool
    func enterState(_ stateClass: AnyClass) -> Bool
}
extension GKStateMachine {
    @warn_unused_result
    func stateForClass<StateType : GKState>(_ stateClass: StateType.Type) -> StateType?
}
extension GKStateMachine {
    @warn_unused_result
    func stateForClass<StateType : GKState>(_ stateClass: StateType.Type) -> StateType?
}
--
To
class GKStateMachine : NSObject {
    var currentState: GKState? { get }
    convenience init(states states: [GKState])
    class func withStates(_ states: [GKState]) -> Self
    init(states states: [GKState])
    func update(deltaTime sec: TimeInterval)
    func __state(for stateClass: Swift.AnyClass) -> GKState?
    func canEnterState(_ stateClass: Swift.AnyClass) -> Bool
    func enter(_ stateClass: Swift.AnyClass) -> Bool
    func state<StateType : GKState>(forClass stateClass: StateType.Type) -> StateType?
    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 GKStateMachine : CVarArg {
}
extension GKStateMachine : Equatable, Hashable {
    var hashValue: Int { get }
}
extension GKStateMachine {
    func state<StateType : GKState>(forClass stateClass: StateType.Type) -> StateType?
}
CVarArg, Equatable, Hashable

Declaration
From
func canEnterState(_ stateClass: AnyClass) -> Bool
To
func canEnterState(_ stateClass: Swift.AnyClass) -> Bool

Declaration
From
func enterState(_ stateClass: AnyClass) -> Bool
To
func enter(_ stateClass: Swift.AnyClass) -> Bool

Declaration
From
func updateWithDeltaTime(_ sec: NSTimeInterval)
To
func update(deltaTime sec: TimeInterval)

DeclarationModule
From
class func obstaclesFromNodeBounds(_ nodes: [SKNode]) -> [GKPolygonObstacle]
SpriteKit
To
class func obstacles(fromNodeBounds nodes: [SKNode]) -> [GKPolygonObstacle]
GameplayKit

DeclarationModule
From
class func obstaclesFromNodePhysicsBodies(_ nodes: [SKNode]) -> [GKPolygonObstacle]
SpriteKit
To
class func obstacles(fromNodePhysicsBodies nodes: [SKNode]) -> [GKPolygonObstacle]
GameplayKit

DeclarationModule
From
class func obstaclesFromSpriteTextures(_ sprites: [SKNode], accuracy accuracy: Float) -> [GKPolygonObstacle]
SpriteKit
To
class func obstacles(fromSpriteTextures sprites: [SKNode], accuracy accuracy: Float) -> [GKPolygonObstacle]
GameplayKit