Documentation Archive Developer
Search

QuartzCore Changes for Swift

QuartzCore

Removed CAEdgeAntialiasingMask.init(_: UInt32)
Removed CAMetalLayer.newDrawable() -> CAMetalDrawable!
Modified CAAction
Declaration
From
protocol CAAction {
    func runActionForKey(_ event: String!, object anObject: AnyObject!, arguments dict: [NSObject : AnyObject]!)
}
To
protocol CAAction {
    func runActionForKey(_ event: String, object anObject: AnyObject, arguments dict: [NSObject : AnyObject]?)
}

DeclarationIntroduction
From
func runActionForKey(_ event: String!, object anObject: AnyObject!, arguments dict: [NSObject : AnyObject]!)
iOS 8.0
To
func runActionForKey(_ event: String, object anObject: AnyObject, arguments dict: [NSObject : AnyObject]?)
iOS 2.0

Modified CAAnimation
Declaration
From
class CAAnimation : NSObject, NSCoding, NSCopying, CAMediaTiming, CAAction {
    convenience init!()
    class func animation() -> Self!
    class func defaultValueForKey(_ key: String!) -> AnyObject!
    func shouldArchiveValueForKey(_ key: String!) -> Bool
    var timingFunction: CAMediaTimingFunction!
    var delegate: AnyObject!
    var removedOnCompletion: Bool
}
extension CAAnimation {
    var usesSceneTimeBase: Bool
    var fadeInDuration: CGFloat
    var fadeOutDuration: CGFloat
    var animationEvents: [AnyObject]!
}
To
class CAAnimation : NSObject, NSCoding, NSCopying, CAMediaTiming, CAAction {
    convenience init()
    class func animation() -> Self
    class func defaultValueForKey(_ key: String) -> AnyObject?
    func shouldArchiveValueForKey(_ key: String) -> Bool
    var timingFunction: CAMediaTimingFunction?
    var delegate: AnyObject?
    var removedOnCompletion: Bool
}
extension CAAnimation {
    var usesSceneTimeBase: Bool
    var fadeInDuration: CGFloat
    var fadeOutDuration: CGFloat
    var animationEvents: [SCNAnimationEvent]?
}

Declaration
From
class func defaultValueForKey(_ key: String!) -> AnyObject!
To
class func defaultValueForKey(_ key: String) -> AnyObject?

Declaration
From
var delegate: AnyObject!
To
var delegate: AnyObject?

Declaration
From
func shouldArchiveValueForKey(_ key: String!) -> Bool
To
func shouldArchiveValueForKey(_ key: String) -> Bool

Declaration
From
var timingFunction: CAMediaTimingFunction!
To
var timingFunction: CAMediaTimingFunction?

Declaration
From
class CAAnimationGroup : CAAnimation {
    var animations: [AnyObject]!
}
To
class CAAnimationGroup : CAAnimation {
    var animations: [CAAnimation]?
}

Declaration
From
var animations: [AnyObject]!
To
var animations: [CAAnimation]?

Declaration
From
class CABasicAnimation : CAPropertyAnimation {
    var fromValue: AnyObject!
    var toValue: AnyObject!
    var byValue: AnyObject!
}
To
class CABasicAnimation : CAPropertyAnimation {
    var fromValue: AnyObject?
    var toValue: AnyObject?
    var byValue: AnyObject?
}

Declaration
From
var byValue: AnyObject!
To
var byValue: AnyObject?

Declaration
From
var fromValue: AnyObject!
To
var fromValue: AnyObject?

Declaration
From
var toValue: AnyObject!
To
var toValue: AnyObject?

Modified CADisplayLink
Declaration
From
class CADisplayLink : NSObject {
    init!(target target: AnyObject!, selector sel: Selector) -> CADisplayLink
    class func displayLinkWithTarget(_ target: AnyObject!, selector sel: Selector) -> CADisplayLink!
    func addToRunLoop(_ runloop: NSRunLoop!, forMode mode: String!)
    func removeFromRunLoop(_ runloop: NSRunLoop!, forMode mode: String!)
    func invalidate()
    var timestamp: CFTimeInterval { get }
    var duration: CFTimeInterval { get }
    var paused: Bool
    var frameInterval: Int
}
To
class CADisplayLink : NSObject {
     init(target target: AnyObject, selector sel: Selector)
    class func displayLinkWithTarget(_ target: AnyObject, selector sel: Selector) -> CADisplayLink
    func addToRunLoop(_ runloop: NSRunLoop, forMode mode: String)
    func removeFromRunLoop(_ runloop: NSRunLoop, forMode mode: String)
    func invalidate()
    var timestamp: CFTimeInterval { get }
    var duration: CFTimeInterval { get }
    var paused: Bool
    var frameInterval: Int
}

Declaration
From
func addToRunLoop(_ runloop: NSRunLoop!, forMode mode: String!)
To
func addToRunLoop(_ runloop: NSRunLoop, forMode mode: String)

Declaration
From
init!(target target: AnyObject!, selector sel: Selector) -> CADisplayLink
To
init(target target: AnyObject, selector sel: Selector)

Declaration
From
func removeFromRunLoop(_ runloop: NSRunLoop!, forMode mode: String!)
To
func removeFromRunLoop(_ runloop: NSRunLoop, forMode mode: String)

Modified CAEAGLLayer
Declaration
From
class CAEAGLLayer : CALayer, EAGLDrawable {
}
To
class CAEAGLLayer : CALayer, EAGLDrawable {
    var presentsWithTransaction: Bool
}

DeclarationProtocols
From
struct CAEdgeAntialiasingMask : RawOptionSetType {
    init(_ rawValue: UInt32)
    init(rawValue rawValue: UInt32)
    static var LayerLeftEdge: CAEdgeAntialiasingMask { get }
    static var LayerRightEdge: CAEdgeAntialiasingMask { get }
    static var LayerBottomEdge: CAEdgeAntialiasingMask { get }
    static var LayerTopEdge: CAEdgeAntialiasingMask { get }
}
RawOptionSetType
To
struct CAEdgeAntialiasingMask : OptionSetType {
    init(rawValue rawValue: UInt32)
    static var LayerLeftEdge: CAEdgeAntialiasingMask { get }
    static var LayerRightEdge: CAEdgeAntialiasingMask { get }
    static var LayerBottomEdge: CAEdgeAntialiasingMask { get }
    static var LayerTopEdge: CAEdgeAntialiasingMask { get }
}
OptionSetType

Modified CAEmitterBehavior
Declaration
From
class CAEmitterBehavior : NSObject, NSCoding {
    class func behaviorTypes() -> [AnyObject]!
    init!(type type: String!) -> CAEmitterBehavior
    class func behaviorWithType(_ type: String!) -> CAEmitterBehavior!
    init!(type type: String!)
    var type: String! { get }
    var name: String!
    var enabled: Bool
}
To
class CAEmitterBehavior : NSObject, NSCoding {
    class func behaviorTypes() -> [String]
     init(type type: String)
    class func behaviorWithType(_ type: String) -> CAEmitterBehavior
    init(type type: String)
    var type: String { get }
    var name: String?
    var enabled: Bool
}

Modified CAEmitterBehavior.behaviorTypes() -> [String] [class]
Declaration
From
class func behaviorTypes() -> [AnyObject]!
To
class func behaviorTypes() -> [String]

Modified CAEmitterBehavior.init(type: String)
Declaration
From
init!(type type: String!)
To
init(type type: String)

Modified CAEmitterBehavior.name
Declaration
From
var name: String!
To
var name: String?

Modified CAEmitterBehavior.type
Declaration
From
var type: String! { get }
To
var type: String { get }

Modified CAEmitterCell
Declaration
From
class CAEmitterCell : NSObject, NSCoding, CAMediaTiming {
    convenience init!()
    class func emitterCell() -> Self!
    class func defaultValueForKey(_ key: String!) -> AnyObject!
    func shouldArchiveValueForKey(_ key: String!) -> Bool
    var name: String!
    var enabled: Bool
    var birthRate: Float
    var lifetime: Float
    var lifetimeRange: Float
    var emissionLatitude: CGFloat
    var emissionLongitude: CGFloat
    var emissionRange: CGFloat
    var velocity: CGFloat
    var velocityRange: CGFloat
    var xAcceleration: CGFloat
    var yAcceleration: CGFloat
    var zAcceleration: CGFloat
    var scale: CGFloat
    var scaleRange: CGFloat
    var scaleSpeed: CGFloat
    var spin: CGFloat
    var spinRange: CGFloat
    var color: CGColor!
    var redRange: Float
    var greenRange: Float
    var blueRange: Float
    var alphaRange: Float
    var redSpeed: Float
    var greenSpeed: Float
    var blueSpeed: Float
    var alphaSpeed: Float
    var contents: AnyObject!
    var contentsRect: CGRect
    var minificationFilter: String!
    var magnificationFilter: String!
    var minificationFilterBias: Float
    var emitterCells: [AnyObject]!
    var style: [NSObject : AnyObject]!
}
To
class CAEmitterCell : NSObject, NSCoding, CAMediaTiming {
    convenience init()
    class func emitterCell() -> Self
    class func defaultValueForKey(_ key: String) -> AnyObject?
    func shouldArchiveValueForKey(_ key: String) -> Bool
    var name: String?
    var enabled: Bool
    var birthRate: Float
    var lifetime: Float
    var lifetimeRange: Float
    var emissionLatitude: CGFloat
    var emissionLongitude: CGFloat
    var emissionRange: CGFloat
    var velocity: CGFloat
    var velocityRange: CGFloat
    var xAcceleration: CGFloat
    var yAcceleration: CGFloat
    var zAcceleration: CGFloat
    var scale: CGFloat
    var scaleRange: CGFloat
    var scaleSpeed: CGFloat
    var spin: CGFloat
    var spinRange: CGFloat
    var color: CGColor?
    var redRange: Float
    var greenRange: Float
    var blueRange: Float
    var alphaRange: Float
    var redSpeed: Float
    var greenSpeed: Float
    var blueSpeed: Float
    var alphaSpeed: Float
    var contents: AnyObject?
    var contentsRect: CGRect
    var contentsScale: CGFloat
    var minificationFilter: String
    var magnificationFilter: String
    var minificationFilterBias: Float
    var emitterCells: [CAEmitterCell]?
    var style: [NSObject : AnyObject]?
}

Declaration
From
var color: CGColor!
To
var color: CGColor?

Declaration
From
var contents: AnyObject!
To
var contents: AnyObject?

Declaration
From
class func defaultValueForKey(_ key: String!) -> AnyObject!
To
class func defaultValueForKey(_ key: String) -> AnyObject?

Declaration
From
var emitterCells: [AnyObject]!
To
var emitterCells: [CAEmitterCell]?

Declaration
From
var magnificationFilter: String!
To
var magnificationFilter: String

Declaration
From
var minificationFilter: String!
To
var minificationFilter: String

Declaration
From
var name: String!
To
var name: String?

Declaration
From
func shouldArchiveValueForKey(_ key: String!) -> Bool
To
func shouldArchiveValueForKey(_ key: String) -> Bool

Declaration
From
var style: [NSObject : AnyObject]!
To
var style: [NSObject : AnyObject]?

Declaration
From
class CAEmitterLayer : CALayer {
    var emitterCells: [AnyObject]!
    var birthRate: Float
    var lifetime: Float
    var emitterPosition: CGPoint
    var emitterZPosition: CGFloat
    var emitterSize: CGSize
    var emitterDepth: CGFloat
    var emitterShape: String!
    var emitterMode: String!
    var renderMode: String!
    var preservesDepth: Bool
    var velocity: Float
    var scale: Float
    var spin: Float
    var seed: UInt32
}
To
class CAEmitterLayer : CALayer {
    var emitterCells: [CAEmitterCell]?
    var birthRate: Float
    var lifetime: Float
    var emitterPosition: CGPoint
    var emitterZPosition: CGFloat
    var emitterSize: CGSize
    var emitterDepth: CGFloat
    var emitterShape: String
    var emitterMode: String
    var renderMode: String
    var preservesDepth: Bool
    var velocity: Float
    var scale: Float
    var spin: Float
    var seed: UInt32
}

Declaration
From
var emitterCells: [AnyObject]!
To
var emitterCells: [CAEmitterCell]?

Declaration
From
var emitterMode: String!
To
var emitterMode: String

Declaration
From
var emitterShape: String!
To
var emitterShape: String

Declaration
From
var renderMode: String!
To
var renderMode: String

Declaration
From
class CAGradientLayer : CALayer {
    var colors: [AnyObject]!
    var locations: [AnyObject]!
    var startPoint: CGPoint
    var endPoint: CGPoint
    var type: String!
}
To
class CAGradientLayer : CALayer {
    var colors: [AnyObject]?
    var locations: [NSNumber]?
    var startPoint: CGPoint
    var endPoint: CGPoint
    var type: String
}

Declaration
From
var colors: [AnyObject]!
To
var colors: [AnyObject]?

Declaration
From
var locations: [AnyObject]!
To
var locations: [NSNumber]?

Declaration
From
var type: String!
To
var type: String

Declaration
From
class CAKeyframeAnimation : CAPropertyAnimation {
    var values: [AnyObject]!
    var path: CGPath!
    var keyTimes: [AnyObject]!
    var timingFunctions: [AnyObject]!
    var calculationMode: String!
    var tensionValues: [AnyObject]!
    var continuityValues: [AnyObject]!
    var biasValues: [AnyObject]!
    var rotationMode: String!
}
To
class CAKeyframeAnimation : CAPropertyAnimation {
    var values: [AnyObject]?
    var path: CGPath?
    var keyTimes: [NSNumber]?
    var timingFunctions: [CAMediaTimingFunction]?
    var calculationMode: String
    var tensionValues: [NSNumber]?
    var continuityValues: [NSNumber]?
    var biasValues: [NSNumber]?
    var rotationMode: String?
}

Declaration
From
var biasValues: [AnyObject]!
To
var biasValues: [NSNumber]?

Declaration
From
var calculationMode: String!
To
var calculationMode: String

Declaration
From
var continuityValues: [AnyObject]!
To
var continuityValues: [NSNumber]?

Declaration
From
var keyTimes: [AnyObject]!
To
var keyTimes: [NSNumber]?

Declaration
From
var path: CGPath!
To
var path: CGPath?

Declaration
From
var rotationMode: String!
To
var rotationMode: String?

Declaration
From
var tensionValues: [AnyObject]!
To
var tensionValues: [NSNumber]?

Declaration
From
var timingFunctions: [AnyObject]!
To
var timingFunctions: [CAMediaTimingFunction]?

Declaration
From
var values: [AnyObject]!
To
var values: [AnyObject]?

Modified CALayer
Declaration
From
class CALayer : NSObject, NSCoding, CAMediaTiming {
    convenience init!()
    class func layer() -> Self!
    init!()
    init!(layer layer: AnyObject!)
    func presentationLayer() -> AnyObject!
    func modelLayer() -> AnyObject!
    class func defaultValueForKey(_ key: String!) -> AnyObject!
    class func needsDisplayForKey(_ key: String!) -> Bool
    func shouldArchiveValueForKey(_ key: String!) -> Bool
    var bounds: CGRect
    var position: CGPoint
    var zPosition: CGFloat
    var anchorPoint: CGPoint
    var anchorPointZ: CGFloat
    var transform: CATransform3D
    func affineTransform() -> CGAffineTransform
    func setAffineTransform(_ m: CGAffineTransform)
    var frame: CGRect
    var hidden: Bool
    var doubleSided: Bool
    var geometryFlipped: Bool
    func contentsAreFlipped() -> Bool
    var superlayer: CALayer! { get }
    func removeFromSuperlayer()
    var sublayers: [AnyObject]!
    func addSublayer(_ layer: CALayer!)
    func insertSublayer(_ layer: CALayer!, atIndex idx: UInt32)
    func insertSublayer(_ layer: CALayer!, below sibling: CALayer!)
    func insertSublayer(_ layer: CALayer!, above sibling: CALayer!)
    func replaceSublayer(_ layer: CALayer!, with layer2: CALayer!)
    var sublayerTransform: CATransform3D
    var mask: CALayer!
    var masksToBounds: Bool
    func convertPoint(_ p: CGPoint, fromLayer l: CALayer!) -> CGPoint
    func convertPoint(_ p: CGPoint, toLayer l: CALayer!) -> CGPoint
    func convertRect(_ r: CGRect, fromLayer l: CALayer!) -> CGRect
    func convertRect(_ r: CGRect, toLayer l: CALayer!) -> CGRect
    func convertTime(_ t: CFTimeInterval, fromLayer l: CALayer!) -> CFTimeInterval
    func convertTime(_ t: CFTimeInterval, toLayer l: CALayer!) -> CFTimeInterval
    func hitTest(_ p: CGPoint) -> CALayer!
    func containsPoint(_ p: CGPoint) -> Bool
    var contents: AnyObject!
    var contentsRect: CGRect
    var contentsGravity: String!
    var contentsScale: CGFloat
    var contentsCenter: CGRect
    var minificationFilter: String!
    var magnificationFilter: String!
    var minificationFilterBias: Float
    var opaque: Bool
    func display()
    func setNeedsDisplay()
    func setNeedsDisplayInRect(_ r: CGRect)
    func needsDisplay() -> Bool
    func displayIfNeeded()
    var needsDisplayOnBoundsChange: Bool
    var drawsAsynchronously: Bool
    func drawInContext(_ ctx: CGContext!)
    func renderInContext(_ ctx: CGContext!)
    var edgeAntialiasingMask: CAEdgeAntialiasingMask
    var allowsEdgeAntialiasing: Bool
    var backgroundColor: CGColor!
    var cornerRadius: CGFloat
    var borderWidth: CGFloat
    var borderColor: CGColor!
    var opacity: Float
    var allowsGroupOpacity: Bool
    var compositingFilter: AnyObject!
    var filters: [AnyObject]!
    var backgroundFilters: [AnyObject]!
    var shouldRasterize: Bool
    var rasterizationScale: CGFloat
    var shadowColor: CGColor!
    var shadowOpacity: Float
    var shadowOffset: CGSize
    var shadowRadius: CGFloat
    var shadowPath: CGPath!
    func preferredFrameSize() -> CGSize
    func setNeedsLayout()
    func needsLayout() -> Bool
    func layoutIfNeeded()
    func layoutSublayers()
    class func defaultActionForKey(_ event: String!) -> CAAction!
    func actionForKey(_ event: String!) -> CAAction!
    var actions: [NSObject : AnyObject]!
    func addAnimation(_ anim: CAAnimation!, forKey key: String!)
    func removeAllAnimations()
    func removeAnimationForKey(_ key: String!)
    func animationKeys() -> [AnyObject]!
    func animationForKey(_ key: String!) -> CAAnimation!
    var name: String!
    weak var delegate: AnyObject!
    var style: [NSObject : AnyObject]!
}
extension CALayer {
    func scrollPoint(_ p: CGPoint)
    func scrollRectToVisible(_ r: CGRect)
    var visibleRect: CGRect { get }
}
To
class CALayer : NSObject, NSCoding, CAMediaTiming {
    convenience init()
    class func layer() -> Self
    init()
    init(layer layer: AnyObject)
    func presentationLayer() -> AnyObject?
    func modelLayer() -> AnyObject
    class func defaultValueForKey(_ key: String) -> AnyObject?
    class func needsDisplayForKey(_ key: String) -> Bool
    func shouldArchiveValueForKey(_ key: String) -> Bool
    var bounds: CGRect
    var position: CGPoint
    var zPosition: CGFloat
    var anchorPoint: CGPoint
    var anchorPointZ: CGFloat
    var transform: CATransform3D
    func affineTransform() -> CGAffineTransform
    func setAffineTransform(_ m: CGAffineTransform)
    var frame: CGRect
    var hidden: Bool
    var doubleSided: Bool
    var geometryFlipped: Bool
    func contentsAreFlipped() -> Bool
    var superlayer: CALayer? { get }
    func removeFromSuperlayer()
    var sublayers: [CALayer]?
    func addSublayer(_ layer: CALayer)
    func insertSublayer(_ layer: CALayer, atIndex idx: UInt32)
    func insertSublayer(_ layer: CALayer, below sibling: CALayer?)
    func insertSublayer(_ layer: CALayer, above sibling: CALayer?)
    func replaceSublayer(_ layer: CALayer, with layer2: CALayer)
    var sublayerTransform: CATransform3D
    var mask: CALayer?
    var masksToBounds: Bool
    func convertPoint(_ p: CGPoint, fromLayer l: CALayer?) -> CGPoint
    func convertPoint(_ p: CGPoint, toLayer l: CALayer?) -> CGPoint
    func convertRect(_ r: CGRect, fromLayer l: CALayer?) -> CGRect
    func convertRect(_ r: CGRect, toLayer l: CALayer?) -> CGRect
    func convertTime(_ t: CFTimeInterval, fromLayer l: CALayer?) -> CFTimeInterval
    func convertTime(_ t: CFTimeInterval, toLayer l: CALayer?) -> CFTimeInterval
    func hitTest(_ p: CGPoint) -> CALayer?
    func containsPoint(_ p: CGPoint) -> Bool
    var contents: AnyObject?
    var contentsRect: CGRect
    var contentsGravity: String
    var contentsScale: CGFloat
    var contentsCenter: CGRect
    var minificationFilter: String
    var magnificationFilter: String
    var minificationFilterBias: Float
    var opaque: Bool
    func display()
    func setNeedsDisplay()
    func setNeedsDisplayInRect(_ r: CGRect)
    func needsDisplay() -> Bool
    func displayIfNeeded()
    var needsDisplayOnBoundsChange: Bool
    var drawsAsynchronously: Bool
    func drawInContext(_ ctx: CGContext)
    func renderInContext(_ ctx: CGContext)
    var edgeAntialiasingMask: CAEdgeAntialiasingMask
    var allowsEdgeAntialiasing: Bool
    var backgroundColor: CGColor?
    var cornerRadius: CGFloat
    var borderWidth: CGFloat
    var borderColor: CGColor?
    var opacity: Float
    var allowsGroupOpacity: Bool
    var compositingFilter: AnyObject?
    var filters: [AnyObject]?
    var backgroundFilters: [AnyObject]?
    var shouldRasterize: Bool
    var rasterizationScale: CGFloat
    var shadowColor: CGColor?
    var shadowOpacity: Float
    var shadowOffset: CGSize
    var shadowRadius: CGFloat
    var shadowPath: CGPath?
    func preferredFrameSize() -> CGSize
    func setNeedsLayout()
    func needsLayout() -> Bool
    func layoutIfNeeded()
    func layoutSublayers()
    class func defaultActionForKey(_ event: String) -> CAAction?
    func actionForKey(_ event: String) -> CAAction?
    var actions: [String : CAAction]?
    func addAnimation(_ anim: CAAnimation, forKey key: String?)
    func removeAllAnimations()
    func removeAnimationForKey(_ key: String)
    func animationKeys() -> [String]?
    func animationForKey(_ key: String) -> CAAnimation?
    var name: String?
    weak var delegate: AnyObject?
    var style: [NSObject : AnyObject]?
}
extension CALayer {
    func scrollPoint(_ p: CGPoint)
    func scrollRectToVisible(_ r: CGRect)
    var visibleRect: CGRect { get }
}

Declaration
From
func actionForKey(_ event: String!) -> CAAction!
To
func actionForKey(_ event: String) -> CAAction?

Declaration
From
var actions: [NSObject : AnyObject]!
To
var actions: [String : CAAction]?

Declaration
From
func addAnimation(_ anim: CAAnimation!, forKey key: String!)
To
func addAnimation(_ anim: CAAnimation, forKey key: String?)

Declaration
From
func addSublayer(_ layer: CALayer!)
To
func addSublayer(_ layer: CALayer)

Declaration
From
func animationForKey(_ key: String!) -> CAAnimation!
To
func animationForKey(_ key: String) -> CAAnimation?

Declaration
From
func animationKeys() -> [AnyObject]!
To
func animationKeys() -> [String]?

Declaration
From
var backgroundColor: CGColor!
To
var backgroundColor: CGColor?

Declaration
From
var backgroundFilters: [AnyObject]!
To
var backgroundFilters: [AnyObject]?

Declaration
From
var borderColor: CGColor!
To
var borderColor: CGColor?

Declaration
From
var compositingFilter: AnyObject!
To
var compositingFilter: AnyObject?

Declaration
From
var contents: AnyObject!
To
var contents: AnyObject?

Declaration
From
var contentsGravity: String!
To
var contentsGravity: String

Introduction
FromiOS 8.0
ToiOS 4.0

Declaration
From
func convertPoint(_ p: CGPoint, fromLayer l: CALayer!) -> CGPoint
To
func convertPoint(_ p: CGPoint, fromLayer l: CALayer?) -> CGPoint

Declaration
From
func convertPoint(_ p: CGPoint, toLayer l: CALayer!) -> CGPoint
To
func convertPoint(_ p: CGPoint, toLayer l: CALayer?) -> CGPoint

Declaration
From
func convertRect(_ r: CGRect, fromLayer l: CALayer!) -> CGRect
To
func convertRect(_ r: CGRect, fromLayer l: CALayer?) -> CGRect

Declaration
From
func convertRect(_ r: CGRect, toLayer l: CALayer!) -> CGRect
To
func convertRect(_ r: CGRect, toLayer l: CALayer?) -> CGRect

Declaration
From
func convertTime(_ t: CFTimeInterval, fromLayer l: CALayer!) -> CFTimeInterval
To
func convertTime(_ t: CFTimeInterval, fromLayer l: CALayer?) -> CFTimeInterval

Declaration
From
func convertTime(_ t: CFTimeInterval, toLayer l: CALayer!) -> CFTimeInterval
To
func convertTime(_ t: CFTimeInterval, toLayer l: CALayer?) -> CFTimeInterval

Declaration
From
class func defaultActionForKey(_ event: String!) -> CAAction!
To
class func defaultActionForKey(_ event: String) -> CAAction?

Declaration
From
class func defaultValueForKey(_ key: String!) -> AnyObject!
To
class func defaultValueForKey(_ key: String) -> AnyObject?

Declaration
From
weak var delegate: AnyObject!
To
weak var delegate: AnyObject?

Declaration
From
func drawInContext(_ ctx: CGContext!)
To
func drawInContext(_ ctx: CGContext)

Introduction
FromiOS 8.0
ToiOS 6.0

Declaration
From
var filters: [AnyObject]!
To
var filters: [AnyObject]?

Declaration
From
func hitTest(_ p: CGPoint) -> CALayer!
To
func hitTest(_ p: CGPoint) -> CALayer?

Declaration
From
init!()
To
init()

Declaration
From
init!(layer layer: AnyObject!)
To
init(layer layer: AnyObject)

Declaration
From
func insertSublayer(_ layer: CALayer!, above sibling: CALayer!)
To
func insertSublayer(_ layer: CALayer, above sibling: CALayer?)

Declaration
From
func insertSublayer(_ layer: CALayer!, atIndex idx: UInt32)
To
func insertSublayer(_ layer: CALayer, atIndex idx: UInt32)

Declaration
From
func insertSublayer(_ layer: CALayer!, below sibling: CALayer!)
To
func insertSublayer(_ layer: CALayer, below sibling: CALayer?)

Declaration
From
var magnificationFilter: String!
To
var magnificationFilter: String

Modified CALayer.mask
Declaration
From
var mask: CALayer!
To
var mask: CALayer?

Declaration
From
var minificationFilter: String!
To
var minificationFilter: String

Declaration
From
func modelLayer() -> AnyObject!
To
func modelLayer() -> AnyObject

Modified CALayer.name
Declaration
From
var name: String!
To
var name: String?

Declaration
From
class func needsDisplayForKey(_ key: String!) -> Bool
To
class func needsDisplayForKey(_ key: String) -> Bool

Declaration
From
func presentationLayer() -> AnyObject!
To
func presentationLayer() -> AnyObject?

Declaration
From
func removeAnimationForKey(_ key: String!)
To
func removeAnimationForKey(_ key: String)

Declaration
From
func renderInContext(_ ctx: CGContext!)
To
func renderInContext(_ ctx: CGContext)

Declaration
From
func replaceSublayer(_ layer: CALayer!, with layer2: CALayer!)
To
func replaceSublayer(_ layer: CALayer, with layer2: CALayer)

Declaration
From
var shadowColor: CGColor!
To
var shadowColor: CGColor?

Declaration
From
var shadowPath: CGPath!
To
var shadowPath: CGPath?

Declaration
From
func shouldArchiveValueForKey(_ key: String!) -> Bool
To
func shouldArchiveValueForKey(_ key: String) -> Bool

Modified CALayer.style
Declaration
From
var style: [NSObject : AnyObject]!
To
var style: [NSObject : AnyObject]?

Declaration
From
var sublayers: [AnyObject]!
To
var sublayers: [CALayer]?

Declaration
From
var superlayer: CALayer! { get }
To
var superlayer: CALayer? { get }

Modified CAMediaTiming
Declaration
From
protocol CAMediaTiming {
    var beginTime: CFTimeInterval { get set }
    var duration: CFTimeInterval { get set }
    var speed: Float { get set }
    var timeOffset: CFTimeInterval { get set }
    var repeatCount: Float { get set }
    var repeatDuration: CFTimeInterval { get set }
    var autoreverses: Bool { get set }
    var fillMode: String! { get set }
}
To
protocol CAMediaTiming {
    var beginTime: CFTimeInterval { get set }
    var duration: CFTimeInterval { get set }
    var speed: Float { get set }
    var timeOffset: CFTimeInterval { get set }
    var repeatCount: Float { get set }
    var repeatDuration: CFTimeInterval { get set }
    var autoreverses: Bool { get set }
    var fillMode: String { get set }
}

Declaration
From
var fillMode: String! { get set }
To
var fillMode: String { get set }

Declaration
From
class CAMediaTimingFunction : NSObject, NSCoding {
    convenience init!(name name: String!)
    class func functionWithName(_ name: String!) -> Self!
    convenience init!(controlPoints c1x: Float, _ c1y: Float, _ c2x: Float, _ c2y: Float)
    class func functionWithControlPoints(_ c1x: Float, _ c1y: Float, _ c2x: Float, _ c2y: Float) -> Self!
    init!(controlPoints c1x: Float, _ c1y: Float, _ c2x: Float, _ c2y: Float)
    func getControlPointAtIndex(_ idx: Int, values ptr: UnsafeMutablePointer<Float>)
}
To
class CAMediaTimingFunction : NSObject, NSCoding {
    convenience init(name name: String)
    class func functionWithName(_ name: String) -> Self
    convenience init(controlPoints c1x: Float, _ c1y: Float, _ c2x: Float, _ c2y: Float)
    class func functionWithControlPoints(_ c1x: Float, _ c1y: Float, _ c2x: Float, _ c2y: Float) -> Self
    init(controlPoints c1x: Float, _ c1y: Float, _ c2x: Float, _ c2y: Float)
    func getControlPointAtIndex(_ idx: Int, values ptr: UnsafeMutablePointer<Float>)
}

Declaration
From
init!(controlPoints c1x: Float, _ c1y: Float, _ c2x: Float, _ c2y: Float)
To
init(controlPoints c1x: Float, _ c1y: Float, _ c2x: Float, _ c2y: Float)

Declaration
From
convenience init!(name name: String!)
To
convenience init(name name: String)

Declaration
From
protocol CAMetalDrawable : MTLDrawable, NSObjectProtocol {
    var texture: MTLTexture! { get }
    var layer: CAMetalLayer! { get }
}
To
protocol CAMetalDrawable : MTLDrawable, NSObjectProtocol {
    var texture: MTLTexture { get }
    var layer: CAMetalLayer { get }
}

Declaration
From
var layer: CAMetalLayer! { get }
To
var layer: CAMetalLayer { get }

Declaration
From
var texture: MTLTexture! { get }
To
var texture: MTLTexture { get }

Modified CAMetalLayer
Declaration
From
class CAMetalLayer : CALayer {
    var device: MTLDevice!
    var pixelFormat: MTLPixelFormat
    var framebufferOnly: Bool
    var drawableSize: CGSize
    func nextDrawable() -> CAMetalDrawable!
    func newDrawable() -> CAMetalDrawable!
    var presentsWithTransaction: Bool
}
To
class CAMetalLayer : CALayer {
    var device: MTLDevice?
    var pixelFormat: MTLPixelFormat
    var framebufferOnly: Bool
    var drawableSize: CGSize
    func nextDrawable() -> CAMetalDrawable?
    var presentsWithTransaction: Bool
}

Declaration
From
var device: MTLDevice!
To
var device: MTLDevice?

Declaration
From
func nextDrawable() -> CAMetalDrawable!
To
func nextDrawable() -> CAMetalDrawable?

Declaration
From
class CAPropertyAnimation : CAAnimation {
    convenience init!(keyPath path: String!)
    class func animationWithKeyPath(_ path: String!) -> Self!
    var keyPath: String!
    var additive: Bool
    var cumulative: Bool
    var valueFunction: CAValueFunction!
}
To
class CAPropertyAnimation : CAAnimation {
    convenience init(keyPath path: String?)
    class func animationWithKeyPath(_ path: String?) -> Self
    var keyPath: String?
    var additive: Bool
    var cumulative: Bool
    var valueFunction: CAValueFunction?
}

Declaration
From
convenience init!(keyPath path: String!)
To
convenience init(keyPath path: String?)

Declaration
From
var keyPath: String!
To
var keyPath: String?

Declaration
From
var valueFunction: CAValueFunction!
To
var valueFunction: CAValueFunction?

Declaration
From
class CAReplicatorLayer : CALayer {
    var instanceCount: Int
    var preservesDepth: Bool
    var instanceDelay: CFTimeInterval
    var instanceTransform: CATransform3D
    var instanceColor: CGColor!
    var instanceRedOffset: Float
    var instanceGreenOffset: Float
    var instanceBlueOffset: Float
    var instanceAlphaOffset: Float
}
To
class CAReplicatorLayer : CALayer {
    var instanceCount: Int
    var preservesDepth: Bool
    var instanceDelay: CFTimeInterval
    var instanceTransform: CATransform3D
    var instanceColor: CGColor?
    var instanceRedOffset: Float
    var instanceGreenOffset: Float
    var instanceBlueOffset: Float
    var instanceAlphaOffset: Float
}

Declaration
From
var instanceColor: CGColor!
To
var instanceColor: CGColor?

Modified CAScrollLayer
Declaration
From
class CAScrollLayer : CALayer {
    func scrollToPoint(_ p: CGPoint)
    func scrollToRect(_ r: CGRect)
    var scrollMode: String!
}
To
class CAScrollLayer : CALayer {
    func scrollToPoint(_ p: CGPoint)
    func scrollToRect(_ r: CGRect)
    var scrollMode: String
}

Declaration
From
var scrollMode: String!
To
var scrollMode: String

Modified CAShapeLayer
Declaration
From
class CAShapeLayer : CALayer {
    var path: CGPath!
    var fillColor: CGColor!
    var fillRule: String!
    var strokeColor: CGColor!
    var strokeStart: CGFloat
    var strokeEnd: CGFloat
    var lineWidth: CGFloat
    var miterLimit: CGFloat
    var lineCap: String!
    var lineJoin: String!
    var lineDashPhase: CGFloat
    var lineDashPattern: [AnyObject]!
}
To
class CAShapeLayer : CALayer {
    var path: CGPath?
    var fillColor: CGColor?
    var fillRule: String
    var strokeColor: CGColor?
    var strokeStart: CGFloat
    var strokeEnd: CGFloat
    var lineWidth: CGFloat
    var miterLimit: CGFloat
    var lineCap: String
    var lineJoin: String
    var lineDashPhase: CGFloat
    var lineDashPattern: [NSNumber]?
}

Declaration
From
var fillColor: CGColor!
To
var fillColor: CGColor?

Declaration
From
var fillRule: String!
To
var fillRule: String

Declaration
From
var lineCap: String!
To
var lineCap: String

Declaration
From
var lineDashPattern: [AnyObject]!
To
var lineDashPattern: [NSNumber]?

Declaration
From
var lineJoin: String!
To
var lineJoin: String

Declaration
From
var path: CGPath!
To
var path: CGPath?

Declaration
From
var strokeColor: CGColor!
To
var strokeColor: CGColor?

Modified CATextLayer
Declaration
From
class CATextLayer : CALayer {
    @NSCopying var string: AnyObject!
    var font: AnyObject!
    var fontSize: CGFloat
    var foregroundColor: CGColor!
    var wrapped: Bool
    var truncationMode: String!
    var alignmentMode: String!
}
To
class CATextLayer : CALayer {
    @NSCopying var string: AnyObject?
    var font: AnyObject?
    var fontSize: CGFloat
    var foregroundColor: CGColor?
    var wrapped: Bool
    var truncationMode: String
    var alignmentMode: String
    var allowsFontSubpixelQuantization: Bool
}

Declaration
From
var alignmentMode: String!
To
var alignmentMode: String

Declaration
From
var font: AnyObject!
To
var font: AnyObject?

Declaration
From
var foregroundColor: CGColor!
To
var foregroundColor: CGColor?

Declaration
From
@NSCopying var string: AnyObject!
To
@NSCopying var string: AnyObject?

Declaration
From
var truncationMode: String!
To
var truncationMode: String

Modified CATransaction
Declaration
From
class CATransaction : NSObject {
    class func begin()
    class func commit()
    class func flush()
    class func lock()
    class func unlock()
    class func animationDuration() -> CFTimeInterval
    class func setAnimationDuration(_ dur: CFTimeInterval)
    class func animationTimingFunction() -> CAMediaTimingFunction!
    class func setAnimationTimingFunction(_ function: CAMediaTimingFunction!)
    class func disableActions() -> Bool
    class func setDisableActions(_ flag: Bool)
    class func completionBlock() -> (() -> Void)!
    class func setCompletionBlock(_ block: (() -> Void)!)
    class func valueForKey(_ key: String!) -> AnyObject!
    class func setValue(_ anObject: AnyObject!, forKey key: String!)
}
To
class CATransaction : NSObject {
    class func begin()
    class func commit()
    class func flush()
    class func lock()
    class func unlock()
    class func animationDuration() -> CFTimeInterval
    class func setAnimationDuration(_ dur: CFTimeInterval)
    class func animationTimingFunction() -> CAMediaTimingFunction?
    class func setAnimationTimingFunction(_ function: CAMediaTimingFunction?)
    class func disableActions() -> Bool
    class func setDisableActions(_ flag: Bool)
    class func completionBlock() -> (() -> Void)?
    class func setCompletionBlock(_ block: (() -> Void)?)
    class func valueForKey(_ key: String) -> AnyObject?
    class func setValue(_ anObject: AnyObject?, forKey key: String)
}

Declaration
From
class func animationTimingFunction() -> CAMediaTimingFunction!
To
class func animationTimingFunction() -> CAMediaTimingFunction?

Declaration
From
class func completionBlock() -> (() -> Void)!
To
class func completionBlock() -> (() -> Void)?

Declaration
From
class func setAnimationTimingFunction(_ function: CAMediaTimingFunction!)
To
class func setAnimationTimingFunction(_ function: CAMediaTimingFunction?)

Declaration
From
class func setCompletionBlock(_ block: (() -> Void)!)
To
class func setCompletionBlock(_ block: (() -> Void)?)

Declaration
From
class func setValue(_ anObject: AnyObject!, forKey key: String!)
To
class func setValue(_ anObject: AnyObject?, forKey key: String)

Declaration
From
class func valueForKey(_ key: String!) -> AnyObject!
To
class func valueForKey(_ key: String) -> AnyObject?

Modified CATransition
Declaration
From
class CATransition : CAAnimation {
    var type: String!
    var subtype: String!
    var startProgress: Float
    var endProgress: Float
    var filter: AnyObject!
}
To
class CATransition : CAAnimation {
    var type: String
    var subtype: String?
    var startProgress: Float
    var endProgress: Float
    var filter: AnyObject?
}

Declaration
From
var filter: AnyObject!
To
var filter: AnyObject?

Declaration
From
var subtype: String!
To
var subtype: String?

Declaration
From
var type: String!
To
var type: String

Declaration
From
class CAValueFunction : NSObject, NSCoding {
    convenience init!(name name: String!)
    class func functionWithName(_ name: String!) -> Self!
    var name: String! { get }
}
To
class CAValueFunction : NSObject, NSCoding {
    convenience init?(name name: String)
    class func functionWithName(_ name: String) -> Self?
    var name: String { get }
}

Declaration
From
convenience init!(name name: String!)
To
convenience init?(name name: String)

Declaration
From
var name: String! { get }
To
var name: String { get }

Modified NSObject.actionForLayer(_: CALayer, forKey: String) -> CAAction?
Declaration
From
func actionForLayer(_ layer: CALayer!, forKey event: String!) -> CAAction!
To
func actionForLayer(_ layer: CALayer, forKey event: String) -> CAAction?

Modified NSObject.animationDidStart(_: CAAnimation)
Declaration
From
func animationDidStart(_ anim: CAAnimation!)
To
func animationDidStart(_ anim: CAAnimation)

Modified NSObject.animationDidStop(_: CAAnimation, finished: Bool)
Declaration
From
func animationDidStop(_ anim: CAAnimation!, finished flag: Bool)
To
func animationDidStop(_ anim: CAAnimation, finished flag: Bool)

Modified NSObject.displayLayer(_: CALayer)
Declaration
From
func displayLayer(_ layer: CALayer!)
To
func displayLayer(_ layer: CALayer)

Modified NSObject.drawLayer(_: CALayer, inContext: CGContext)
Declaration
From
func drawLayer(_ layer: CALayer!, inContext ctx: CGContext!)
To
func drawLayer(_ layer: CALayer, inContext ctx: CGContext)

Modified NSObject.layoutSublayersOfLayer(_: CALayer)
Declaration
From
func layoutSublayersOfLayer(_ layer: CALayer!)
To
func layoutSublayersOfLayer(_ layer: CALayer)

Declaration
From
init!(CATransform3D t: CATransform3D) -> NSValue
To
init(CATransform3D t: CATransform3D)