测试已测试 | ✗ |
语言语言 | Obj-CObjective C |
许可证 | MIT |
发布最后一个发布 | 2014年12月 |
由 Matthew Cheok 维护。
依赖 | |
TMCache | ~> 1.2.0 |
PDKeychainBindingsController | ~> 0.0.1 |
为您的下一个 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
然后,只需添加水!(或者不做...
像平常一样从您的属性中读取和写入
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
以提供您自己的数据存储。
覆盖 - (void)setup
来设置您的数据存储。然后覆盖 - (id)dynamicValueForKey:(NSString *)key
和 - (void)setDynamicValue:(id)value forKey:(NSString *)key
以提供读取和写入访问。
获取器和设置器接受对象时为 NSObject
子类,对基本类型为 NSValue
子类。
MCDynamicObject 在 MIT 许可证下。