iOS中model的随笔

先设定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"
)



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值