• 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

     


  • 相关阅读:
    基于Token的WEB后台认证机制
    MySQL主键设计
    .NET学习笔记 -- 那堆名词到底是啥(CLR、CLI、CTS、CLS、IL、JIT)
    C#学习笔记 -- Attribute
    Log4Net指南
    Windows进程通信 -- 共享内存(1)
    windows进程通信 -- WM_COPYDATA消息
    C语言再学习之内存对齐
    找工作中……
    做了一个vue的同步tree 的npm组件包
  • 原文地址:https://www.cnblogs.com/zhangjl/p/3789228.html
Copyright © 2020-2023  润新知