Static Analyzer

2017-02-21  本文已影响12人  穷小子

在非ARC环境下,superDuperNSArrayCreator静态分析不会出现问题,但是superDuperCFArrayCreator会出现问题。

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController

/// NS_RETURNS_RETAINED 返回一个保留计数器的值不是0的对象
- (NSMutableArray *)superDuperNSArrayCreator NS_RETURNS_RETAINED;

/// CF_RETURNS_NOT_RETAINED 分析器会在返回一个保留对象时提出问题
- (CFMutableArrayRef)superDuperCFArrayCreator CF_RETURNS_NOT_RETAINED;

@end
- (NSMutableArray *)superDuperNSArrayCreator
{
    NSMutableArray *mArray = [[NSMutableArray alloc] init];
    return mArray;
}

- (CFMutableArrayRef)superDuperCFArrayCreator
{
    CFMutableArrayRef myArrayRef = CFArrayCreateMutable(kCFAllocatorNull, 10, NULL);
    return myArrayRef;
}
上一篇 下一篇

猜你喜欢

热点阅读