在非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;
}
网友评论