1.assign applies to int, float primitive types
@property (nonatomic, assign) int package_id;
2.retain is shallow copy
@property (nonatomic,retain) NSArray<PageInfo *> *pageArray;
3.copy is a deep copy
@property (nonatomic,copy) NSString *name;
1.assign applies to int, float primitive types
@property (nonatomic, assign) int package_id;
2.retain is shallow copy
@property (nonatomic,retain) NSArray<PageInfo *> *pageArray;
3.copy is a deep copy
@property (nonatomic,copy) NSString *name;