iOS开发-自定义Cell模型item封装诸如设置界面通用

//

//  ZZSettingArrowItem.h

//  ZZ_APP主流框架

//

//  Created by ZZ_Macpro on 15/10/9.

//  Copyright (c) 2015年 ZZ_Macpro. All rights reserved.

//

 

#import "ZZSettingItem.h"

 

@class ZZSettingArrowItem;

typedefvoid (^ZZSettingArrowItemReadyForDestVc)(id item,id destVc);

 

@interface ZZSettingArrowItem :ZZSettingItem

@property (nonatomic,assign) Class destVcClass;

@property (nonatomic,copy)ZZSettingArrowItemReadyForDestVc readyForDestVc;

 

+ (instancetype)itemWithIcon:(NSString *)icon title:(NSString *)title destVcClass:(Class)destVcClass;

+ (instancetype)itemWithTitle:(NSString *)title destVcClass:(Class)destVcClass;

 

@end

 

//

//  ZZSettingArrowItem.m

//  ZZ_APP主流框架

//

//  Created by ZZ_Macpro on 15/10/9.

//  Copyright (c) 2015年 ZZ_Macpro. All rights reserved.

//

 

#import "ZZSettingArrowItem.h"

 

@implementation ZZSettingArrowItem

+ (instancetype)itemWithIcon:(NSString *)icon title:(NSString *)title destVcClass:(Class)destVcClass

{

   ZZSettingArrowItem *item = [selfitemWithIcon:icontitle:title];

    item.destVcClass = destVcClass;

   return item;

}

 

+ (instancetype)itemWithTitle:(NSString *)title destVcClass:(Class)destVcClass

{

   return [selfitemWithIcon:niltitle:titledestVcClass:destVcClass];

}

@end

 

//

//  ZZSettingCheckItem.h

//  ZZ_APP主流框架

//

//  Created by ZZ_Macpro on 15/10/9.

//  Copyright (c) 2015年 ZZ_Macpro. All rights reserved.

//

 

#import "ZZSettingItem.h"

 

@interface ZZSettingCheckItem :ZZSettingItem

@property (nonatomic,assign,getter = isChecked)BOOL checked;

@end

 

//

//  ZZSettingCheckItem.m

//  ZZ_APP主流框架

//

//  Created by ZZ_Macpro on 15/10/9.

//  Copyright (c) 2015年 ZZ_Macpro. All rights reserved.

//

 

#import "ZZSettingCheckItem.h"

 

@implementation ZZSettingCheckItem

 

@end

 

//

//  ZZSettingItem.h

//  ZZ_APP主流框架

//

//  Created by ZZ_Macpro on 15/10/9.

//  Copyright (c) 2015年 ZZ_Macpro. All rights reserved.

//

 

#import <Foundation/Foundation.h>

typedefvoid (^ZZSettingItemOption)();

 

@interface ZZSettingItem :NSObject

@property (nonatomic,copy)NSString *title;

@property (nonatomic,copy)NSString *subtitle;

@property (nonatomic,copy)NSString *icon;

@property (nonatomic,copy)ZZSettingItemOption option;

@property (nonatomic,copy)NSString *badgeValue;

 

+ (instancetype)itemWithIcon:(NSString *)icon title:(NSString *)title;

+ (instancetype)itemWithTitle:(NSString *)title;

+ (instancetype)item;

@end

 

//

//  ZZSettingItem.m

//  ZZ_APP主流框架

//

//  Created by ZZ_Macpro on 15/10/9.

//  Copyright (c) 2015年 ZZ_Macpro. All rights reserved.

//

 

#import "ZZSettingItem.h"

 

@implementation ZZSettingItem

+ (instancetype)itemWithIcon:(NSString *)icon title:(NSString *)title

{

   ZZSettingItem *item = [selfitem];

    item.icon = icon;

    item.title = title;

   return item;

}

 

+ (instancetype)itemWithTitle:(NSString *)title

{

   return [selfitemWithIcon:niltitle:title];

}

 

+ (instancetype)item

{

   return [[selfalloc]init];

}

@end

 

//

//  ZZSettingLabelItem.h

//  ZZ_APP主流框架

//

//  Created by ZZ_Macpro on 15/10/9.

//  Copyright (c) 2015年 ZZ_Macpro. All rights reserved.

//

 

#import "ZZSettingValueItem.h"

 

@interface ZZSettingLabelItem :ZZSettingValueItem

@property (nonatomic,copy)NSString *text;

@property (nonatomic,copy)NSString *defaultText;

 

 

@end

 

//

//  ZZSettingLabelItem.m

//  ZZ_APP主流框架

//

//  Created by ZZ_Macpro on 15/10/9.

//  Copyright (c) 2015年 ZZ_Macpro. All rights reserved.

//

 

#import "ZZSettingLabelItem.h"

 

@implementation ZZSettingLabelItem

 

- (NSString *)text

{

   id value = [ZZUserDefaultsobjectForKey:self.key];

    

   if (value ==nil) {

       returnself.defaultText;

    }else {

       return value;

    }

}

 

- (void)setText:(NSString *)text

{

    [ZZUserDefaultssetObject:textforKey:self.key];

    [ZZUserDefaultssynchronize];

}

@end

 

//

//  ZZSettingSwitchItem.h

//  ZZ_APP主流框架

//

//  Created by ZZ_Macpro on 15/10/9.

//  Copyright (c) 2015年 ZZ_Macpro. All rights reserved.

//

 

#import "ZZSettingValueItem.h"

 

@interface ZZSettingSwitchItem :ZZSettingValueItem

@property (nonatomic,assign,getter = isOn)BOOL on;

@property (nonatomic,assign,getter = isDefaultOn)BOOL defaultOn;

 

@end

 

//

//  ZZSettingSwitchItem.m

//  ZZ_APP主流框架

//

//  Created by ZZ_Macpro on 15/10/9.

//  Copyright (c) 2015年 ZZ_Macpro. All rights reserved.

//

 

#import "ZZSettingSwitchItem.h"

 

@implementation ZZSettingSwitchItem

 

- (id)init

{

   if (self = [superinit]) {

       self.defaultOn =YES;

    }

    return self;

}

 

- (BOOL)isOn

{

   id value = [ZZUserDefaultsobjectForKey:self.key];

    

   if (value ==nil) {

       returnself.isDefaultOn;

    }else {

       return [valueboolValue];

    }

}

 

- (void)setOn:(BOOL)on

{

    [ZZUserDefaultssetBool:onforKey:self.key];

    [ZZUserDefaultssynchronize];

}

@end

 

//

//  ZZSettingValueItem.h

//  ZZ_APP主流框架

//

//  Created by ZZ_Macpro on 15/10/9.

//  Copyright (c) 2015年 ZZ_Macpro. All rights reserved.

//

 

#import "ZZSettingArrowItem.h"

 

@interface ZZSettingValueItem :ZZSettingArrowItem

@property (nonatomic,copy)NSString *key;

 

@end

 

//

//  ZZSettingValueItem.m

//  ZZ_APP主流框架

//

//  Created by ZZ_Macpro on 15/10/9.

//  Copyright (c) 2015年 ZZ_Macpro. All rights reserved.

//

 

#import "ZZSettingValueItem.h"

 

@implementation ZZSettingValueItem

 

- (NSString *)key

{

   return_key ?_key :self.title;

}

@end

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值