Cocoa API解説(macOS/iOS)

iOS , Mac アプリケーション開発のために使われる主要フレームワークの日本語情報です。

目次

-predicateWithFormat:

INDEX>Foundation>NSPredicate

検索条件を作ります
+(NSPredicate *)predicateWithFormat:(NSString *)format, ...:

解説

検索条件を作ります。
【format, ...】
Predicates Programming Guide
http://developer.apple.com/documentation/Cocoa/Conceptual/Predicates/Predicates.pdf
を参照
● @"newAttribute = '1'"
● @"newAttribute > 1"




BEGINSWITH 指定の文字列から始まる
CONTAINS  指定の文字列を含む
● @"name contains[cd] 'citroen'"
● @"name contains[c] 'citroen' && newAttribute >= 10.0"

ENDWITH  指定の文字列で終わる
LIKE  
MATCHES

複数の条件を結合する場合
&&
||



10.5以降betweenが使える。
date between {$YESTERDAY, $TOMORROW}.

http://developer.apple.com/documentation/Cocoa/Conceptual/Predicates/Articles/pUsing.html

NSMetaDataQuery

返り値

( NSPredicate * )

なし

引数

( NSString * )format, ...

クラス

NSPredicate

Class Methods

使用可能

10.4

参照

例文

//1
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"newAttribute = '1'"];
//2
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF IN %@",
    [NSArray arrayWithObjects:@"aaa", @"bbb", @"ccc", nil]];
//3
NSMutableArray *array = [NSMutableArray arrayWithObjects:@"aaa", @"bbb", @"ccc", @"ddd", nil];
NSPredicate *bPredicate = [NSPredicate predicateWithFormat:@"SELF beginswith[c] 'b'"];
NSArray *beginWithB = [array filteredArrayUsingPredicate:bPredicate];
NSPredicate *sPredicate = [NSPredicate predicateWithFormat:@"SELF contains[c] 's'"];
[array filterArrayUsingPredicate:sPredicate];