NSPredicateクラス

2011. 05. 07
●概要

NSPredicateクラスは、フェッチまたはインメモリのフィルタリングのどちらかの、検索を制限するために使用される、論理条件の定義に使用されます。

述語は論理条件の記述に使用し、永続ストア内のオブジェクトの記述や、インメモリのオブジェクトのフィルタリングに使用されます。

通常はNSComparisonPredicateや、NSCompoundPredicateNSExpressionのインスタンスから直接述語を生成しますが、多くの場合NSPredicateのクラスメソッドによって解析されたフォーマット文字列から述語を生成します。

述語のフォーマット文字列の例を以下に示します。
  • 単純な比較は、grade == "7" または firstName like "Shaffiq"

  • 大文字/小文字や区別的発音符を区別しない検索は、name contains[cd] "itroen"

  • 論理演算は、(firstName like "Mark") OR (lastName like "Adderley")

  • Mac OS X v10.5以降では述語で『間』を生成できます、date between {$YESTERDAY, $TOMORROW}
以下のように、関係の述語を生成することができます。
  • group.name like "work*"

  • ALL children.age > 12

  • ANY children.age > 12
@sum.items.price < 1000 のように、操作の述語を生成することができます。

完全な構文のリファレンスについては、『Predicate Programming Guide』を参照してください。

また、実行時に実際の値を代入する前に事前に定義できるように、変数を含んだ述語を生成することもできます。

Mac OS X v10.4では、変数を使った述語のために二段階の工程で評価します。
predicateWithSubstitutionVariables:evaluateWithObject:を参照)

Mac OS X v10.5以降では、evaluateWithObject:substitutionVariables:を使用し、これらの工程と組み合わせることができます。



●タスク

述語の生成

+ predicateWithFormat:
+ predicateWithFormat:argumentArray:
+ predicateWithFormat:arguments:
– predicateWithSubstitutionVariables:
+ predicateWithValue:
+ predicateWithBlock:

述語の評価

– evaluateWithObject:
– evaluateWithObject:substitutionVariables:

文字列表現の取得

– predicateFormat



●クラスメソッド

predicateWithFormat:

+ (NSPredicate *)predicateWithFormat:(NSString *)format, ...

指定したフォーマットで新しい文字列を生成し、解析した結果によって構成された新しい述語を生成して返します。

フォーマット文字列の書式と変数の代入での制限の詳細については、『Predicate Format String Syntax』を参照してください。

format:新しい述語のためのフォーマット文字列を指定します。

...:formatに代入する引数をコンマ区切りのリストで指定します。



●インスタンスメソッド



参考文献

NSPredicate Class Reference






Bose SoundLink around-ear wireless headphones II
0 Comments
Leave a comment
管理者にだけ表示を許可する
Top
0 Trackbacks
Top
Calendar
06 | 2017/07 | 08
Sun Mon Tue Wed Thu Fri Sat
- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 - - - - -
Recent Articles
iTunes


Swift
Categories
Tips
Profile

水月杏香

Author:水月杏香
永遠の初心者プログラマ。

Wish List
WACOM


ARC
Technical Q&A
情報プロパティリストキー
Start Developing iOS Apps Today
BOSE

Bose SoundLink around-ear wireless headphones II
Reference
NSApplicationDelegateプロトコル
NSArrayクラス
NSAutoreleasePoolクラス
NSBundleクラス
NSBundle UIKit追加分
NSCalendarクラス
NSCoderクラス
NSCodingプロトコル
NSCopyingプロトコル
NSDataクラス
NSDateクラス
NSDateFormatterクラス
NSDictionaryクラス
NSEntityDescriptionクラス
NSEnumeratorクラス
NSErrorクラス
NSExceptionクラス
NSFetchRequestクラス
NSFileHandleクラス
NSFileManagerクラス
NSIndexPathクラス
NSIndexPath UIKit追加分
NSKeyedArchiverクラス
NSKeyedUnarchiverクラス
NSKeyValueCodingプロトコル
NSLocaleクラス
NSManagedObjectクラス
NSManagedObjectContextクラス
NSManagedObjectModelクラス
NSMutableArrayクラス
NSMutableCopyingプロトコル
NSMutableDictionaryクラス
NSMutableSetクラス
NSNotificationクラス
NSNotificationCenterクラス
NSNullクラス
NSNumberクラス
NSObjectクラス
NSObject UIKit追加分
NSObjectプロトコル
NSPersistentStoreクラス
NSPersistentStoreCoordinatorクラス
NSPredicateクラス
NSPropertyListSerializationクラス
NSRunLoopクラス
NSSetクラス
NSStringクラス
NSString UIKit追加分
NSTimerクラス
NSTimeZoneクラス
NSURLクラス
NSURLProtectionSpaceクラス
NSURLRequestクラス
NSUserDefaultsクラス
NSValueクラス

UIActionSheetクラス
UIActionSheetDelegateプロトコル
UIActivityIndicatorViewクラス
UIAlertViewクラス
UIAlertViewDelegateプロトコル
UIApplicationクラス
UIApplicationDelegateプロトコル
UIBarButtonItemクラス
UIBarItemクラス
UIButtonクラス
UIColorクラス
UIControlクラス
UIDatePickerクラス
UIDeviceクラス
UIEventクラス
UIFontクラス
UIGestureRecognizerクラス
UIImageクラス
UIImageViewクラス
UIKit Function
UILabelクラス
UINavigationControllerクラス
UINavigationItemクラス
UIPickerViewクラス
UIPickerViewDataSourceプロトコル
UIPickerViewDelegateプロトコル
UIPinchGestureRecognizerクラス
UIResponderクラス
UIScreenクラス
UIScrollViewクラス
UISearchBarクラス
UISearchBarDelegateプロトコル
UISegmentedControlクラス
UISliderクラス
UISwipeGestureRecognizerクラス
UISwitchクラス
UITableViewクラス
UITableViewCellクラス
UITableViewControllerクラス
UITableViewDataSourceプロトコル
UITableViewDelegateプロトコル
UITapGestureRecognizerクラス
UITextFieldクラス
UITextFieldDelegateプロトコル
UITextInputTraitsプロトコル
UITextViewクラス
UITextViewDelegateプロトコル
UIToolbarクラス
UITouchクラス
UIViewクラス
UIViewControllerクラス
UIWebViewクラス
UIWebViewDelegateプロトコル
UIWindowクラス

AVAudioPlayerクラス
AVAudioPlayerDelegateプロトコル

CADisplayLinkクラス
CAEAGLLayerクラス
CALayerクラス

CGAffineTransform
CGBitmapContext
CGColor
CGColorSpace
CGContext
CGGeometry
CGImage
CGPath

EAGLContextクラス
EAGLDrawableプロトコル

Foundation Constants
Foundation Data Types
Foundation Functions

MPMediaItemクラス
MPMediaItemArtworkクラス
MPMediaPlaylistクラス
MPMediaPropertyPredicateクラス
MPMediaQueryクラス
MPMusicPlayerControllerクラス

Randomization Services

System Sound Services
Amazon


OpenGL ES
SQLite
Monthly Archives
Recent Comments
Recent TrackBacks
RSS Link
Visitors
QR Code
QR