標籤:
?父類指標可以指向子類對象?//定義block別名。typedef void (^LYItemOption)();
@interface LYItemArrow : LYItem
@property(nonatomic,strong) Class desController;@property(nonatomic,copy) LYItemOption option;??1.strong :除NSString\block以外的OC對象? @property(nonatomic,strong) NSArray? *<#model#>;2.weak:各種UI控制項(但不是絕對,也有控制項要使用strong屬性的)? [email protected] (nonatomic,weak) UIButton *button;3.assign:CGFloat,NSInteger等基礎資料型別 (Elementary Data Type)、枚舉、結構體(非OC對象)? [email protected](nonatomic,assign) CGFloat <#model#>;4.copy:?????copy : 建立的是不可變副本(如NSString、NSArray、NSDictionary)?????mutableCopy :建立的是可變副本(如NSMutableString、NSMutableArray、NSMutableDictionary)? @property(nonatomic,copy)NSString *<#model#>;[email protected]記憶體管理原則的選擇?1.非ARC? 1> copy : 只用於NSString\block? 2> retain : 除NSString\block以外的OC對象? 3> assign : 基礎資料型別 (Elementary Data Type)、枚舉、結構體(非OC對象),當2個對象相互引用,一端用retain,一端用assign?2.ARC? 1> copy : 只用於NSString\block? 2> strong : 除NSString\block以外的OC對象? 3> weak : 當2個對象相互引用,一端用strong,一端用weak? 4> assgin : 基礎資料型別 (Elementary Data Type)、枚舉、結構體(非OC對象)
IOS中級篇——何時使用copy,strong,weak,assign關鍵字 定義屬性