现在的位置: 首页 > 综合 > 正文

iOS中model的随笔

2017年11月13日 ⁄ 综合 ⁄ 共 2149字 ⁄ 字号 评论关闭

先设定model的元素有code,name

CodeName.h

#import <Foundation/Foundation.h>

@interface CodeName : NSObject

@property (nonatomic, copy) NSString *code;
@property (nonatomic, copy) NSString *name;

+ (CodeName*)codeNameWithCode:(NSString*)code name:(NSString*)name;

@end

CodeName.m

#import "CodeName.h"

@implementation CodeName

- (void)dealloc
{
    self.code = nil;
    self.name = nil;
    [super dealloc];
}

- (BOOL)isEqual:(id)object
{
    if (object == self) {
        return YES;
    }
    if (![object isKindOfClass:[self class]]) {
        return NO;
    }
    CodeName *codeName = (CodeName *)object;
    return [codeName.code isEqualToString:self.code];
}

+ (CodeName*)codeNameWithCode:(NSString*)code name:(NSString*)name
{
    CodeName *codeName = [[[CodeName alloc] init] autorelease];
    codeName.code = code;
    codeName.name = name;
    return codeName;
}

- (NSString*)description
{
    return [NSString stringWithFormat:@"code=%@,name=%@", _code, _name];
}

@end

快速索引的使用示例:

    CodeName *codeName1 = [CodeName codeNameWithCode:@"code1" name:@"name1"];
    NSLog(@"%@", codeName1);
    CodeName *codeName2 = [CodeName codeNameWithCode:@"code2" name:@"name2"];
    CodeName *codeName3 = [CodeName codeNameWithCode:@"code3" name:@"name3"];
    CodeName *codeNameTest = [CodeName codeNameWithCode:@"codeTest" name:@"name3"];
    NSArray *array = [NSArray arrayWithObjects:codeName1, codeName2, codeName3, nil];
    BOOL flag = [array containsObject:codeName1];
    NSLog(@"codeName_1:%@", flag?@"存在":@"不存在");
    flag = [array containsObject:codeNameTest];
    NSLog(@"codeName_Test:%@", flag?@"存在":@"不存在");
    
    
    NSInteger index = [array indexOfObject:codeNameTest];
    if (index == NSNotFound) {
        NSLog(@"codeNameTest NSNotFound");
    }
    else {
        NSLog(@"codeName1:index=%d", index);
    }
    index = [array indexOfObject:codeName1];
    if (index == NSNotFound) {
        CFShow(@"codeNameTest NSNotFound");
    }
    else {
        NSLog(@"codeNameTest:index=%d", index);
    }

打印结果:

2013-02-07 22:40:25.724 Test[1576:c07] code=code1,name=name1
2013-02-07 22:40:25.726 Test[1576:c07] codeName_1:存在
2013-02-07 22:40:25.727 Test[1576:c07] codeName_Test:不存在
2013-02-07 22:40:25.727 Test[1576:c07] codeNameTest NSNotFound
2013-02-07 22:40:25.728 Test[1576:c07] codeNameTest:index=0

iOS的模糊查询

    NSPredicate *predicate = [NSPredicate predicateWithFormat: @"name LIKE[cd] '*me1*'"];
    NSArray *results = [array filteredArrayUsingPredicate: predicate];
    NSLog (@"%@", results);

打印结果:

2013-02-07 22:44:53.702 Test[1612:c07] (
    "code=code1,name=name1"
)

抱歉!评论已关闭.