诸如设置界面自定义Cell模型item封装(所有界面通用)(自定义Cell1⃣️)
2015-10-31 14:41
344 查看
//
// 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
// 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
相关文章推荐
- 最直白非对称加解密
- 10.线性表之数组的基本操作
- 将数组"student a am i"的内容改为"i am a student"
- Android获取通讯录信息
- 杭电5499
- 雷观(二十三)-IT互联网技术,不拼创新拼努力,特别低公平
- 有主见与无主见
- 虚拟机安装centos7网络问题
- 雷观(二十三)-IT互联网技术,不拼创新拼努力,特别低公平
- 雷观(二十三)-IT互联网技术,不拼创新拼努力,特别低公平
- 输入三个数,请把这三个数由小到大的排列
- 杭电5494
- hibernate session 之flush 和commit 的区别
- 最实用的基础动画push pop新界面的时候
- 根据sessionId获取Session对象
- 杭电acm1555
- 杭电5273
- php之简单socket编程
- UI: 带有Heard的ListView控件
- bat启动java程序,集成jre