通常,我们像这样取消财产:
@Property (nonatomic, retain) NSString * string;
@property (nonatomic, assign) NSInteger number;
但是如果我想声明一个 CF 对象,我该怎么做呢?ARC下也一样吗?
通常,我们像这样取消财产:
@Property (nonatomic, retain) NSString * string;
@property (nonatomic, assign) NSInteger number;
但是如果我想声明一个 CF 对象,我该怎么做呢?ARC下也一样吗?
@property(nonatomic, strong) __attribute__((NSObject)) CFStringRef myString;
这样,ARC 将为您完成所有工作。
因为 NSString 和 CFStringRef 之间有免费桥接,你也可以这样做:
@property (nonatomic, strong) NSString *myString;
并且在使用 CFStringRef 设置属性时:
CFStringRef myStringRef = CFSTR("Hello!");
myObject.myString = (__bridge_transfer NSString *)myStringRef;