AMECategoryMaker
一個(gè)無(wú)需resign Xcode的category生成器
關(guān)于本擴(kuò)展
當(dāng)你新建一個(gè)category并為他添加新的property之后粘优,你必須手動(dòng)實(shí)現(xiàn)getter和setter。
安裝這個(gè)插件會(huì)幫你自動(dòng)實(shí)現(xiàn)這些
例如:
//copy
@property (nonatomic, copy) NSString * view_version;
//assign
@property (nonatomic, assign) NSInteger numVersion;
//strong
@property (nonatomic, strong) UIButton * button;
@property (atomic, strong) UIScrollView * scrollView;
/*過濾注釋*/
//readOnly
@property (nonatomic, readonly, copy) NSString * readOnlyString;
//自動(dòng)識(shí)別int float bool
@property (nonatomic, assign) CGFloat float0;
@property (nonatomic, assign) BOOL isAME;
↓↓↓
static char * view_versionKey = "view_versionKey";
static char * numVersionKey = "numVersionKey";
static char * buttonKey = "buttonKey";
static char * scrollViewKey = "scrollViewKey";
static char * readOnlyStringKey = "readOnlyStringKey";
static char * float0Key = "float0Key";
static char * isAMEKey = "isAMEKey";
- (void)setView_version:(NSString *)view_version{
objc_setAssociatedObject(self, view_versionKey, view_version, OBJC_ASSOCIATION_COPY_NONATOMIC);
}
- (NSString *)view_version{
if(!objc_getAssociatedObject(self, view_versionKey)){
NSString *object = [[NSString alloc]init];
objc_setAssociatedObject(self, view_versionKey, object, OBJC_ASSOCIATION_COPY_NONATOMIC);
}
return objc_getAssociatedObject(self, view_versionKey);
}
- (void)setNumVersion:(NSInteger)numVersion{
objc_setAssociatedObject(self, numVersionKey, @(numVersion), OBJC_ASSOCIATION_ASSIGN);
}
- (NSInteger)numVersion{
return [objc_getAssociatedObject(self, numVersionKey)integerValue];
}
- (void)setButton:(UIButton *)button{
objc_setAssociatedObject(self, buttonKey, button, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
}
- (UIButton *)button{
if(!objc_getAssociatedObject(self, buttonKey)){
UIButton *object = [[UIButton alloc]init];
objc_setAssociatedObject(self, buttonKey, object, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
}
return objc_getAssociatedObject(self, buttonKey);
}
- (void)setScrollView:(UIScrollView *)scrollView{
objc_setAssociatedObject(self, scrollViewKey, scrollView, OBJC_ASSOCIATION_RETAIN);
}
- (UIScrollView *)scrollView{
if(!objc_getAssociatedObject(self, scrollViewKey)){
UIScrollView *object = [[UIScrollView alloc]init];
objc_setAssociatedObject(self, scrollViewKey, object, OBJC_ASSOCIATION_RETAIN);
}
return objc_getAssociatedObject(self, scrollViewKey);
}
- (NSString *)readOnlyString{
if(!objc_getAssociatedObject(self, readOnlyStringKey)){
NSString *object = [[NSString alloc]init];
objc_setAssociatedObject(self, readOnlyStringKey, object, OBJC_ASSOCIATION_COPY_NONATOMIC);
}
return objc_getAssociatedObject(self, readOnlyStringKey);
}
- (void)setFloat0:(CGFloat)float0{
objc_setAssociatedObject(self, float0Key, @(float0), OBJC_ASSOCIATION_ASSIGN);
}
- (CGFloat)float0{
return [objc_getAssociatedObject(self, float0Key)doubleValue];
}
- (void)setIsAME:(BOOL)isAME{
objc_setAssociatedObject(self, isAMEKey, @(isAME), OBJC_ASSOCIATION_ASSIGN);
}
- (BOOL)isAME{
return [objc_getAssociatedObject(self, isAMEKey)boolValue];
}
安裝方法
Xcode8.0+
-
點(diǎn)我下載本擴(kuò)展
- 在系統(tǒng)偏好設(shè)置-擴(kuò)展中打開本插件(如圖)
- 你可以自己設(shè)置一個(gè)快捷鍵
一些提示
如果您的Xcode版本是 8.0+但是無(wú)法使用
請(qǐng)安裝macOS Sierra (version 10.12)