MCDynamicObject 0.2

MCDynamicObject 0.2

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布最后一个发布2014年12月

Matthew Cheok 维护。



 
依赖
TMCache~> 1.2.0
PDKeychainBindingsController~> 0.0.1
 

  • 作者:
  • Matthew Cheok

为您的下一个 iOS 项目提供自动持久性。MCDynamicObject 检查您的属性,并允许获取器从底层数据存储中读取,设置器进行更改。

安装

将以下内容添加到您的 CocoaPods Podfile 中

pod 'MCDynamicObject'

或者作为 git 子模块克隆,

或者只需将 MCDynamicObject 文件夹中的文件复制到您的项目中。

设置

提供了两个具体单例子类 MCDynamicCache (使用 TMCache) 用于通用缓存和 MCDynamicKeychain (使用 PDKeychainBindingsController) 用于密钥链访问。

只需创建一个子类并添加您自己的属性

@interface MCTestingCache : MCDynamicCache

@property (assign, nonatomic) NSUInteger userID;
@property (assign, nonatomic) CGPoint lastTapPoint;

@property (strong, nonatomic) NSString *authToken;
@property (strong, nonatomic) NSDate *lastUpdatedDate;

@end

请记住使属性动态

@implementation MCTestingCache

@dynamic userID, lastTapPoint, authToken, lastUpdatedDate;

@end

然后,只需添加水!(或者不做...

使用 MCDynamicObject

像平常一样从您的属性中读取和写入

MCTestingCache *cache = [MCTestingCache sharedInstance];

// read and write userID
NSLog(@"userID: %lu", (unsigned long)cache.userID);
cache.userID = 123;

// read and write lastTapPoint
NSLog(@"lastTapPoint: %@", NSStringFromCGPoint(cache.lastTapPoint));
cache.lastTapPoint = CGPointMake(120, 100);

// read and write authToken
NSLog(@"authToken: %@", cache.authToken);
cache.authToken = @"3232n423jn4i32n4i23j4i23j4";

// read and write lastUpdatedDate
NSLog(@"lastUpdatedDate: %@", cache.lastUpdatedDate);
cache.lastUpdatedDate = [NSDate date];

继承 MCDynamicObject

您可以继承 MCDynamicObject 以提供您自己的数据存储。

覆盖 - (void)setup 来设置您的数据存储。然后覆盖 - (id)dynamicValueForKey:(NSString *)key- (void)setDynamicValue:(id)value forKey:(NSString *)key 以提供读取和写入访问。

获取器和设置器接受对象时为 NSObject 子类,对基本类型为 NSValue 子类。

许可证

MCDynamicObject 在 MIT 许可证下。