[iOS SDK] NULL と空白文字列を NSPredicate でフィルタする方法
NSPredicate は、指定した条件を抽出(フィルタ)することの出来るクラスです。例えば、配列や CoreData などのデータをふるいにかけてくれます。
今回、文字列が「ある」ものを取得したかったのですが、NULL と空白文字列で少し躓いてしまったので紹介します。
NULL と空白文字列を NSPredicate でフィルタするには、次のように記述します。
NSPredicate *predicate;
// 文字がある & NULL を取得する
predicate = [NSPredicate predicateWithFormat:@"memo != nil"];
// 文字があるものを取得する = NULL と空白文字列を取得しない
predicate = [NSPredicate predicateWithFormat:@"memo.length > 0"];
ここで、memo は僕が扱っているキーパスです。この後ろに、「.length」を付けるとその文字数をカウントしてくれます。
この predicateWithFormat で使用する条件比較文に、まだ慣れないです。