객체에 대한 맴버 인스턴스 값 비교하기.
require class
- NSObject
- NSPredicate
Book.h
[sourcecode language="objc"]
@interface Book : NSObject {
NSString *title;
}
[/sourcecode]
Book.m
[sourcecode language="objc"]
- (id)init {
if (self = [super init]) {
title = [[NSString alloc] initWithFormat:@"hello"];
}
return self;
}
[/sourcecode]
Main.m
[sourcecode language="objc"]
Book *book = [[Book alloc] init];
NSPredicate *pred = [NSPredicate predicateWithFormat:@"title == 'hello'"];
BOOL match = [pred evaluateWithObject:book];
[/sourcecode]
위와 같이 사용한다면 객체에 대한 맴버 인스턴스 값을 비교 할 수 있습니다.

* Single Qoute와 Double Qoute의 차이점. 그리고 인용구 그대로 사용하기

firstName like "Adam"으로 평가되길 원하는 경우 아래와 같은 format 문자열을 사용해야합니다.
format 문자열에서 %@을 사용하여 문자열을 대치하였다면 그것들은 quotation mark로 감싸집니다. 만약 동적 속성 변수를 원한다면 format string에 %K 를 사용하셔야 합니다. 다음과 같이 작성 할 수 있겠네요.
[code]
NSString *attributeName = @"firstName";
NSString *attributeValue = @"Adam";
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"%K like %@",
attributeName, attributeValue];
[/code]
Apple Reference