PTModel
是一个简单的对象存储库,用于在 iOS 应用程序中持久化数据。
PTModel
请注意:这绝不是要替代 CoreData
的尝试。它与 CoreData
相去甚远。如果您正在寻找 CoreData
的替代品,您可能想看看 FCModel
。
当您只需要持久化一组数据,不必过于担心性能时,《PTModel》 служит hyvin.
PTModel
并非设计成具备完整功能的对象图。如果您需要保存多个相互关联的实体,那么您想要使用的是 CoreData
。
要使用 PTModel
,您只需继承它
// Record.h
#import <PTModel/PTModel.h>
@interface Record : PTModel
@property (nonatomic, copy) NSString *title;
@property (nonatomic, copy) NSString *band;
@end
// Record.m
#import "Record.h"
@implementation Record
@end
Record *newRecord = [Record new]; // Create a new object
newRecord.title = @"Divine Discontent";
newRecord.band = @"Sixpence None The Richer";
[newRecord save]; // Save your object to the store
在本版本的 PTModel
中,您可以通过 查询 来检索对象
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"title = %@", @"Divine Discontent"];
Record *retrievedRecord = [[Record instancesFilteredWithPredicate:predicate] firstObject];
您的子类实例也有一个在对象首次保存之前设置的 guid
属性。这是一个唯一的 ID,您也可以用它来检索特定的对象
Record *favouriteRecord = [Record new];
favouriteRecord.title = @"Strangeland";
favouriteRecord.band = @"Keane";
[favouriteRecord save]; // Here, the guid property is set on favouriteRecord
NSString *recordId = favouriteRecord.guid;
Record *recordToShare = [Record instanceWithId:recordId];
如果您有您的 PTModel
子类的实例,您只需修改其中一个属性并调用它的 save
以持久化更改。
// Using favouriteRecord from above...
favouriteRecord.title = @"Night Train";
[favouriteRecord save];
您可以通过在您的 PTModel
子类实例上调用 remove
来从存储中删除它。
[favouriteRecord remove];
如果您想清空整个存储,您可以在您的子类上调用 removeAllInstances
。
[Record removeAllInstances];
PTModel
通过 CocoaPods 提供。要安装它,只需将以下行添加到您的 Podfile 中
pod "PTModel"
Oscar Swanros @ Pacific3,[email protected]
PTModel
受MIT许可证约束。更多信息请参阅LICENSE文件。