zoukankan      html  css  js  c++  java
  • core foundation type property

    class  have a property CGPathRef

    define:

    @property(asign)CGPathRef test;

    need custom setTest method  and check NULL

    https://developer.apple.com/library/mac/documentation/corefoundation/Reference/CFTypeRef/Reference/reference.html#//apple_ref/c/func/CFRelease

    CFRelease

    Releases a Core Foundation object.

    void CFRelease (
       CFTypeRef cf
    );
    
    Parameters
    cf A CFType object to release. This value must not be NULL

                          

    CFRetain

    Retains a Core Foundation object.

    CFTypeRef CFRetain (
       CFTypeRef cf
    );
    
    Parameters
    cf

    The CFType object to retain. This value must not be NULL

    CFGetRetainCount

    Returns the reference count of a Core Foundation object.

    CFIndex CFGetRetainCount (
       CFTypeRef cf
    );
    
    Parameters
    cf

    The CFType object to examine.

    Return Value

    A number representing the reference count of cf.

    Discussion

    You increment the reference count using the CFRetain function, and decrement the reference count using the CFRelease function.

    This function may useful for debugging memory leaks. You normally do not use this function, otherwise.

    demo CPTColor.h CPTColor.m

    http://core-plot.googlecode.com/hg/documentation/html/iOS/_c_p_t_color_8h_source.html

    https://github.com/core-plot/core-plot/blob/master/framework/Source/CPTColor.m

    core foudation类型的变量一般都为只读,比如cgcolorRef,cgimageRef不是,在core plot中

    CGImageRetain(null);会做NULL校验,而不是CFretain;

    https://github.com/core-plot/core-plot/blob/master/framework/Source/CPTImage.m

    http://core-plot.googlecode.com/hg/documentation/html/iOS/_c_p_t_image_8h_source.html

    -(void)setImage:(CGImageRef)newImage
    {
        if ( newImage != image ) {
            CGImageRetain(newImage);
            CGImageRelease(image);
            image = newImage;
        }
    }
     
    @property (nonatomic, readwrite, assign) CGImageRef image;
     
     

    CGColorRetain

    Increments the retain count of a Quartz color.

    CGColorRef CGColorRetain (
       CGColorRef color
    );
    
    Parameters
    color

    The Quartz color to retain.

    Return Value

    The same color you passed in as the color parameter.

    Discussion

    This function is equivalent to CFRetain, except that it does not cause an error if the color parameter is NULL.

    Availability
    • Available in OS X version 10.3 and later.
    Related Sample Code
    Declared In
    CGColor.h

    CGImageRetain

    Increments the retain count of a bitmap image.

    CGImageRef CGImageRetain (
       CGImageRef image
    );
    
    Parameters
    image

    The image to retain.

    Return Value

    The same image you passed in as the image parameter.

    Discussion

    This function is equivalent to CFRetain, except that it does not cause an error if the image parameter is NULL.

    Availability
    • Available in iOS 2.0 and later.
    Related Sample Code
    Declared In
    CGImage.h

     


  • 相关阅读:
    js内置数据类型
    vue禁止复制的方式
    阻止element组件中的<el-input/>的粘贴功能
    Vue插件集合
    qs.parse()、qs.stringify()、JSON.stringify() 用法及区别
    es6数组的一些函数方法使用
    文章段落首字母缩进两个字符
    深圳scala-meetup-20180902(3)- Using heterogeneous Monads in for-comprehension with Monad Transformer
    深圳scala-meetup-20180902(2)- Future vs Task and ReaderMonad依赖注入
    深圳scala-meetup-20180902(1)- Monadic 编程风格
  • 原文地址:https://www.cnblogs.com/zhangjl/p/3789228.html
Copyright © 2011-2022 走看看