Core Data can be one of the more intimidating Apple frameworks to work with, in part because it doesn’t quite have the polish that many of the other frameworks have but also because when you’re dealing with users’ data it is worth treading carefully: imagining correcting a poorly-executed migration on thousands of remote devices should be enough to persuade anyone of that! Luckily, RubyMotion and
Have you tried to use Core Data in RubyMotion, only to get lost in the quagmire of simplistic or confusing examples, DSL's and gems? Have you been asking yourself questions like: Is it really necessary to use XCode to create and manage CoreData models? Actually no. How do relationships between models work in code anyway? It's a chicken-and-egg problem. How do you pre-load data into your Core Data
CoreDataQuery という CoreData ラッパー gem が公開された CoreDataQuery - CDQ | InfiniteRed 開発元は RubyMotionQuery と同じ InfiniteRed。 RubyMotion ではラッパー gem じゃなくて、MagicalRecord や NLCoreData のような Objective-C のライブラリを使えばいいやって思いはじめていたとき、この gem を観測。 ざっと目を通したところ興味を引かれる gem だったので触ってみた。 CoreDataQuery の特徴 MagicalRecord や NLCoreData、MotionData や MotionDataWrapper と比べて、 CoreDataQuery が優れている点は次の2つ。 Ruby でスキーマを定義できる MagicalRecord
最近、RubyMotion 向けのラッパー gem じゃなくて、 Objective-C のライブラリを使ったほうがいいのでは、って思うようになってきた。 CoreData なら MotionData や MotionDataWrapper じゃなくて MagicalRecord。 そこで RubyMotion で MagicalRecord が使えるか試してみる。 まず CocoaPods で MagicalRecord を追加する。 motion-cocoapods を使っているから、Rakefile に Motion::Project::App.setup do |app| app.name = 'MagicalRecordSample' # CocoaPods で MagicalRecord をインストール app.pods do pod 'MagicalRecord' end e
先日 RubyMotion で CoreData を使うために試した MotionDataWrapper、 ソースコードを見たらシンプルな実装で難しいことやっていなかった。 Xcode の Data Modeler で作成したエンティティ定義を読み込むけど、 それは CoreData.framework が提供している機能を呼び出しているだけ。 これなら MotionDataWrapper 使わず、RubyMotion で直に書けそう。 実際に試してみた。 まず Xcode で Empty プロジェクトを作成。 次に Data Modelファイルを作成。ファイルの保存先は resources 直下で、 ファイル名はとりあえずデフォルトの Model のままにしておく。 エンティティを定義したら Xcode での作業は終了。 RubyMotion で Data Model ファイルを使うサン
Updated July 13, 2015 Today we’ll be revisiting our previous topic, Core Data Pre-loading in Ruby Motion. If you’ve missed the earlier posts, you can find them here: Introduction to Core Data in Motion Core Data Basics in RubyMotion Core Data Relationships in RubyMotion Core Data Pre-loading in RubyMotion At the end of our pre-loading post, I mentioned that there was a problem with our load, when
iOSアプリのデータ操作はMagical Recordでマジ簡単!:生産性ガチアゲなオープンソースiOSライブラリ(3)(1/2 ページ) ゼロからiOS SDK開発を始める新規開発者でも超高速・高品質な開発を可能にするオープンソースのライブラリを目的別に紹介していく連載です。実際にライブラリを組み込みながら技術的な側面も併せて詳細に説明していきます。今回は、アップル製O/RマッピングのCoreDataを使いやすくするObjective-Cライブラリについて、概要や使い方を紹介します。 アプリの品質と生産性の向上もライブラリが助けてくれる アプリ開発を行ううえで絶対的に重要な要素の1つとして「品質」の問題があります。どんなに見た目が美しいアプリを作成しても、どんなに最新の技術を駆使しても品質が悪ければ良いアプリとはいえません。 品質といってもその定義は非常に広く、見る人によってその定義は異
CoreData を使うアプリであればこの程度の件数はすぐに行くので、起動時にマイグレーションが走ると確実に落ちてしまう。これを防ぐためには起動時に CoreData へアクセスさせないのが最低限の対策になるが、その場合でもユーザが CoreData へアクセスする操作を行った瞬間にマイグレーション処理に時間がかかって画面が固まったようになるのでユーザビリティは良くない。 マイグレーションを考慮したパターン よって CoreDataを使うアプリではマイグレーション用の画面を用意するのがベスト。処理フローはこんな感じ。 起動 ↓ (1)マイグレーションチェック もし必要なら、マイグレーション用の画面へ遷移し、(2)マイグレーション実行 ↓ 通常画面マイグレーションチェックは NSPersistentCoordinator を使えばわかる。 Cocoaの日々: [iOS][Mac] CoreD
iOS データ設計入門の続きです。前回は iOS であつかうデータ全般について書きましたが今回はデータをフラッシュドライブに保存する方法について説明します。 データの永続化って何? メモリにあるデータはアプリを終了すると消えてしまいます。 アプリを終了しても残しておきたいデータはフラッシュドライブに保存する必要があります。メモリにあるフラッシュドライブに保存することをデータの永続化といいます。永続化されたデータはフラッシュドライブが壊れない限り永続的に保存され残ります。以降 iOS でフラッシュドライブがどのように管理されているのかと、データを永続化するのにどのような方法があるのかについて説明していきます。 フラッシュドライブを構成する3つの領域 データを永続化する方法を説明する前に iOS でフラッシュドライブがどのように管理されているか見ていきましょう。 iOS ではフラッシュドライブ
Core Data の NSManagedObject クラスで以下のように To-Many(One-To-Many) 関連を使ったときにコードの自動生成をすると実装コードが生成されない場合があります。 通常の To-Many 関連では問題が起こらないのですが以下のように Ordered(順序) を指定してから NSManagedObject クラスのサブクラスの自動生成をすると実装コード(.m ファイルのコード)の一部が生成されません。 これは Xcode のバグみたいです。最新の Xcode 4.6.1 でも発生しています。 自動生成されないコードはプログラマ自身が実装する必要があります。以下は Transaction(取引) クラスと Journal(仕訳明細) クラスに Ordered の To-Many 関連を設定する場合のコードの実装例です。 #import "Transact
So you want to store your rubymotion app’s data in a persistent data store but don’t want to have to connect to a remote server? Well fear not! This guide will teach you the basics of getting your data stored in the local ios sqlite database in no time! And Then There Were Two This requires just two files! Two! That’s nothing you scoff! I can make two files in my sleep you say! Yeah, we’ll see abo
こんにちは。Objective-C は Emacs で書く金内です。 ウェブブラウザ Sleipnir for Mac や Sleipnir Mobile for iPhone / iPad は、ブックマークや履歴・タブのデータを Core Data を使って管理しています。 Core Data は iOS / OS X 開発の主要フレームワークのひとつですが、どうにもとっつきにくいためか、尻込みしてしまう方も多いという印象があります。 この記事の目的は、とっつきにくい Core Data を最低限の内容にしぼって解説して、「なるほどそーいうものなのね。ボク/ワタシのアプリでも使ってみよっかなー」と思っていただくことです。 どんな時に使うの? ひとことで言えば、Core Data は Apple 純正の高機能・高性能データ管理フレームワークです。 iOS / Mac 向けのアプリである程度
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く