タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

NSPredicateに関するKatagiriSoのブックマーク (9)

  • NSPredicate で正規表現 - ObjecTips

    NSPredicate と正規表現の組み合わせはちょっとややこしい。 例えば、正規表現で数字列を検出する場合 \d+ を用いる。 NSString でこの文字列を扱う場合 \ がエスケープ文字なので、これをこのまま NSString に入れると Unknown escape sequence '\d' というエラーが出て以下のような結果になる。 NSLog(@"%@", @"\d+"); // d+ NSString で \d+ という文字列を表す場合はエスケープ文字であるバックスラッシュの直前にバックスラッシュを付けて、バックスラッシュ自体を文字として扱うようにする。 NSLog(@"%@", @"\\d+"); // \d+ 例えば NSString の rangeOfString: メソッドでの正規表現を用いた検索は以下のようになる。 NSRange range = [@"123"

    NSPredicate で正規表現 - ObjecTips
  • NSPredicate : テンプレートを利用した生成方法(パフォーマンス改善) | Natsu note

    Core Dataのデータをフェッチするとき、特定の条件を指定したければNSPredicateを使う。NSPredicateは、Core Dataに限らず、NSArrayなどにも利用可能。このNSPredicateを作成する際の小ワザ的な話として、テンプレートを使う方法が以下のドキュメントに載っていた。 Max Dev Center: Core Data Snippets: Fetching Managed Objects … NSPredicate’s predicateWithFormat: method is typically the easiest way to use a predicate (as shown in “Fetch with a Predicate”), but it’s not the most efficient way to create the pred

  • NSPredicate

    @objcMembers class Person: NSObject { let firstName: String let lastName: String let age: Int init(firstName: String, lastName: String, age: Int) { self.firstName = firstName self.lastName = lastName self.age = age } override var description: String { return "\(firstName) \(lastName)" } } let alice = Person(firstName: "Alice", lastName: "Smith", age: 24) let bob = Person(firstName: "Bob", lastName

    NSPredicate
  • 配列からNSPredicate条件を使ってデータを抽出する方法 - hachinoBlog

    NSArrayからNSPredicateを使ってデータを抽出するにはNSArrayのfilteredArrayUsingPredicateメソッドを使う。 単純な例 NSArray array = @[@"a", @"b", @"c"]; NSPredicate *predicate = [NSPredicate predicateWithFormat:"SELF = a"]; NSArray result = [array filteredArrayUsingPredicate:predicate]; NSLog(@"%@", result) //a あるクラスのインスタンスを条件にしてマッチするオブジェクトを抽出したい場合 //自作クラス @interface Person : NSObject @property (nonatomic, copy) NSString *name; @

    配列からNSPredicate条件を使ってデータを抽出する方法 - hachinoBlog
  • こたつつきみかん » NSPredicate の使い方

    NSPredicate の話を求めて、このブログへ訪れる方が多いようなので、NSPredicate の使い方を紹介しようと思います。 NSPredicate は、NSArray で要素をフィルターするための条件を表したり、Core Data で取ってくるデータの条件を表すためのクラスです。 NSPredicate を作成する方法として最も簡単なものが、predicateWithFormat です。これを用いると、NSPredicate 独自の記法ではありますが、自然な記述で条件を書くことができます。 Predicate の条件式の基形は、”keyPath operator literal” です。それぞれには、次のようなものが入ります。 keyPath キー値コーディングのキーパス。この値が条件の判定に利用されます。self 指定すると、そのオブジェクト自体の値が利用されます。(self

  • NSPredicateフィルタリング - Qiita

    例えば下記のようなMealMenu型要素を複数もつNSArray *todaysMenuがいるとしましょう。 // recipeName, calory, dishes ( "sandwitch, 500, (\n BLT,\n \"lemon soda\"\n)", "curry, 1800, (\n \"beaf curry\",\n salad,\n \"lemon soda\"\n)", "ramen, 1100, (\n \"miso ramen\",\n water\n)" )

    NSPredicateフィルタリング - Qiita
  • NSPredicateで遊ぶ - たーせる日記

    こんにちは。 今日はC#のLINQと少しだけ似ている NSPredicate のお話。なぜか『詳解 Objective-C 2.0 第3版』には載っていないクラスですが、たいへん便利な代物です。 ちなみにくろねこさんが同じテーマの記事をQiitaに投稿しており、今さら感が漂っておりますが僕は気にしない。 用途としては、ある集成オブジェクト(配列とか)から、条件に合致する要素を抽出する際に使用します。LINQでは内部結合や外部結合などの集合演算も可能でしたが、NSPredicate の目的はあくまでデータのフィルタリングですので、ほぼ別物と考えた方がよいでしょう。 いくつか例を書いてみます。 #import <Foundation/Foundation.h> // キー文字列の定義 NSString * const ID = @"id"; NSString * const NAME = @"

    NSPredicateで遊ぶ - たーせる日記
  • NSPredicate 全構文解説 - Qiita

    NSPredicateで使用できる全構文の解説です。 確認に使用したサンプルコードはこちらです。 NSPredicate Programming Guide - Predicate Format String Syntaxに記載しているのは全て取り上げていますが、SUBQUERYがNSExpressionに書いてあったりしたからまだ他にもあるのかもしれません。 あと@を指定して使用する関数のドキュメントが見つからなかった・・・ドキュメントが乱雑し整理されていない感じがしました。 関連キーワード: BNF, NSExpression 注意: SQLと同じ用語には注意が必要です。例えばANYはSQLのANYとは異なります。 リテラル %@ 文字列として扱われる(ダブルクォーテーションで囲われる) NSString *attributeValue = @"Anne"; NSPredicate *

    NSPredicate 全構文解説 - Qiita
  • Cocoaの日々: [Mac][iOS] NSPredicate - 1対多関連のエンティティの検索条件見本(訂正〜サブクエリーの利用)

    iOS/iPhone/iPad/MacOSX プログラミング, Objective-C, Cocoaなど [前回] Cocoaの日々: [Mac][iOS] NSPredicate - 1対多関連のエンティティの検索条件見 先日の見が間違っていることが発覚。先日のやつはこんな指定だった。 p = [NSPredicate predicateWithFormat: @"ANY books.date >= %@ AND ANY books.date < %@", date1, date2]この時の SQLはこうなる。 SELECT DISTINCT 0, t0.Z_PK FROM ZAUTHOR t0 JOIN ZBOOK t1 ON t0.Z_PK = t1.ZAUTHOR JOIN ZBOOK t2 ON t0.Z_PK = t2.ZAUTHOR WHERE ( t1.ZDATE >=

    Cocoaの日々: [Mac][iOS] NSPredicate - 1対多関連のエンティティの検索条件見本(訂正〜サブクエリーの利用)
  • 1