//
|
// LHPredicate.m
|
// LHDBDemo
|
//
|
// Created by 3wchina01 on 16/2/14.
|
// Copyright © 2016年 李浩. All rights reserved.
|
//
|
|
#import "LHPredicate.h"
|
|
@implementation LHPredicate
|
|
- (NSMutableArray*)propertyNameArray
|
{
|
if (!_propertyNameArray) {
|
_propertyNameArray = [NSMutableArray array];
|
}
|
return _propertyNameArray;
|
}
|
|
- (instancetype)initWithString:(NSString*)string
|
{
|
self = [super init];
|
if (self) {
|
_predicateFormat = string;
|
}
|
return self;
|
}
|
|
- (instancetype)initWithString:(NSString *)string OrderBy:(NSString*)sortString
|
{
|
self = [super init];
|
if (self) {
|
_predicateFormat = string;
|
_sortString = sortString;
|
}
|
return self;
|
}
|
|
+ (instancetype)predicateWithString:(NSString *)string
|
{
|
LHPredicate* predicate = [[self alloc] initWithString:string];
|
return predicate;
|
}
|
|
+ (instancetype)predicateWithString:(NSString *)string OrderBy:(NSString *)sortString
|
{
|
LHPredicate* predicate = [[LHPredicate alloc] initWithString:string OrderBy:sortString];
|
return predicate;
|
}
|
|
- (instancetype)initWithFormat:(NSString *)name, ...
|
{
|
self = [super init];
|
if (self) {
|
va_list args;
|
va_start(args, name);
|
_predicateFormat = [[NSString alloc] initWithFormat:name arguments:args];
|
va_end(args);
|
}
|
return self;
|
}
|
|
- (instancetype)initWithOrderBy:(NSString *)sortString Format:(NSString *)name, ...
|
{
|
self = [super init];
|
if (self) {
|
_sortString = sortString;
|
va_list args;
|
va_start(args, name);
|
_predicateFormat = [[NSString alloc] initWithFormat:name arguments:args];
|
va_end(args);
|
}
|
return self;
|
}
|
|
+ (instancetype)predicateWithFormat:(NSString*)name, ...
|
{
|
LHPredicate* predicate = [[LHPredicate alloc] init];
|
va_list args;
|
va_start(args, name);
|
predicate.predicateFormat = [[NSString alloc] initWithFormat:name arguments:args];
|
va_end(args);
|
return predicate;
|
}
|
|
- (instancetype)initWithPropertyName:(NSString*)name, ...
|
{
|
self = [super init];
|
if (self) {
|
if (self.propertyNameArray.count>0) {
|
[self.propertyNameArray removeAllObjects];
|
}
|
[self.propertyNameArray addObject:name];
|
va_list args;
|
va_start(args, name);
|
if (name) {
|
NSString* ohterName;
|
while (ohterName == va_arg(args, NSString*)) {
|
[self.propertyNameArray addObject:ohterName];
|
}
|
}
|
va_end(args);
|
}
|
return self;
|
}
|
|
+ (instancetype)predicateWithPropertyName:(NSString*)name, ...
|
{
|
LHPredicate* predicate = [[LHPredicate alloc] init];
|
if (predicate.propertyNameArray.count>0) {
|
[predicate.propertyNameArray removeAllObjects];
|
}
|
[predicate.propertyNameArray addObject:name];
|
va_list args;
|
va_start(args, name);
|
if (name) {
|
NSString* ohterName;
|
while (ohterName == va_arg(args, NSString*)) {
|
[predicate.propertyNameArray addObject:ohterName];
|
}
|
}
|
va_end(args);
|
return predicate;
|
}
|
|
@end
|