文系コボラーが初めてiOSアプリ開発に挑戦し、Web系エンジニアになった日記

文系コボラーがほぼ独学でiOSアプリを作ってみました。 -> iOS/Androidエンジニア -> Web系エンジニアになるまでの日記。

NSPredicateがうまくいかない

前回からだいぶ間が空いてしまいました。

 

題名の通り、NSPredicateではまっています。

 

やりたいこと

前回まででお話しした通り、今作っているアプリのデータ保存に

Realmというライブラリを使用しています。

Realmにデータを保存するところまではなんとか実装できたのですが、

保存したデータをSelectするのにNSPredicateというものを使用するとのこと。

 

で、そのNSPredicateですが、色々調べると文字列マッチングの抽出条件式は

結構出てくるのですが、私がやりたいのはSQLでいうMAX関数のような形で、

とあるカラム内での最大値を取得したいと思っています。

 

しかしMAXについて、Objective-Cでの実装例はそこそこ出てくるのですが、

Swiftでの実装方法が見つからない・・・

このNSPredicateはObjective-CSwiftでは書き方が少し違うらしく、色々試したみたのですがことごとくエラー。

ダメだった書き方
  • NSPredicate(format: "seqNo = @max")
  • NSPredicate(format: "@seqNo = @max")

  • NSPredicate(format: "@max = seqNo")

  • NSPredicate(format: "seqNo,@max")

どなたか知っていれば知恵をお貸しください。。。

 

ここ数日間の実装メモ

  • tabbarで自身のviewが選ばれていなかったら遷移する
    if (self.tabBarController?.selectedViewController != self) {
        self.tabBarController?.selectedViewController = self
    }
  • NSDateを日付形式にする

    dateFormatter.locale = NSLocale(localeIdentifier: "ja_JP")

    dateFormatter.timeStyle = .ShortStyle

    dateFormatter.dateStyle = .ShortStyle

    "Date:\(dateFormatter.stringFromDate(record.startDate))

 

そろそろアプリ全体がいい感じになってきた。

ちゃんとできたら公開したいなぁ。

 

あと、最近Webアプリも少しやってみたいものがあって、

MEANスタックなるものにちょっと興味があったりする。