#ifndef MY_RETAIN
#if __has_feature(objc_arc)
#define MY_RETAIN strong
#else
#define MY_RETAIN retain
#endif
#endif
#ifndef MY_ASSIGN
#if __has_feature(objc_arc_weak)
#define MY_ASSIGN weak
#elif __has_feature(objc_arc)
#define MY_ASSIGN unsafe_unretained
#else
#define MY_ASSIGN assign
#endif
#endif
#ifndef MY_COPY
#define MY_COPY copy
#endif
//对象类型使用MY_RETAIN声明
@property (MY_RETAIN, nonatomic) NSURLConnection *connection;
@property (MY_RETAIN, nonatomic) NSMutableDictionary *fieldsToBePosted;
@property (MY_RETAIN, nonatomic) NSMutableArray *filesToBePosted;
//NSString对象类型使用MY_COPY声明
@property (MY_COPY, nonatomic) NSString *username;
@property (MY_COPY, nonatomic) NSString *password;
//基本数据类型使用MY_ASSIGN声明
@property (nonatomic, MY_ASSIGN) NSInteger startPosition;
@property (nonatomic, MY_ASSIGN) BOOL isCancelled;
本文详细介绍了如何在Objective-C中使用ARC(自动内存管理)优化对象引用,包括对象的保留、赋值和拷贝策略,以及如何根据不同场景选择合适的引用方式。
860

被折叠的 条评论
为什么被折叠?



