You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
第54回 Cocoa勉強会関西 で、CoreDataについて話をしてきました。 3行要約 CoreDataのベースはRDBMS。データベース界隈の知識をCoreDataでの開発に活かそう! Atomicity(原子性)を気にしよう! データのバックアップは超重要 どんな話? CoreDataとACID from Tadahisa Motooka デモで使ったサンプルアプリのソースコードは、こちら(Github) ViewController.mの途中にある「#define WITHOUT_ATOMICITY」の行をコメントアウトしたりしなかったりして、挙動の変化をお楽しみ下さい。 なぜ、この話をしようと思ったのか 2013年の前半頃だったと思いますが、AustraliaのAppStoreでランキング上位に居たアプリの中で、Monopoly(モノポリー)というゲームがありました。ご存知の方も
Your React Native ExpertsOur U.S.-based experts are here to build, optimize, and support your React Native app-- and level up your team along the way! Since 2015, Infinite Red has been the premier React Native experts. We’ve been building impactful React Native projects since the beginning.When React Native was released in 2015, we were one of the first adopters. Over the intervening decade, we’ve
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
iPhone Dev Center から CoreDataBooks というサンプルコードを入手してソースを読む。なるほど NSFetchedResultsController を使うと UITableView で CoreData を使うのが楽になりそうだ。 CoreDataBooks の動作はこんな感じ。 リストに詳細表示、それと項目の編集を行う3つのビューから構成される。データの格納に CoreData を採用していて UITableView との連携に NSFetchedResultsController を使っている。 NSFetchedResultsController の使い方を理解するためにこのコードを参考にしつつ、(テーブルが一つで)構造が単純な OneLiner を NSFetcedResultsController を使うバージョンに書き換えてみる。 MainView
改めて調べなおした。NSFetchedResultsController はデータ取得と操作(挿入・変更・削除)に分けて考えるとわかりやすい。以下、UITableView および UITableViewController と組み合わせた典型的なパターンについて説明する。 データ取得 UITableView が表示するデータを UITableViewDataSource へ要求する。通常 UITableViewController がこのプロトコルを実装していて NSFetchedResultController から必要なデータを取得し、UITableViewへ返す。NSFetchedResultController は大抵の場合、UITableVIewController 初期化時にフェッチを行っていて、データ取得の要求があった場合は取得済みのデータを返す。 なお NSFetchedR
CoreDataで大量のデータを扱ってる間はインターフェースの動き止まってしまうので, 別スレッドで作業する必要がある。 でもCoreDataはスレッドセーフじゃないので色々必要らしい。 参照は以下。 Mac Dev Center: Core Data Programming Guide: Multi-Threading with Core Data http://developer.apple.com/Mac/library/documentation/Cocoa/Conceptual/CoreData/Articles/cdMultiThreading.html#//apple_ref/doc/uid/TP40003385 要約すると, managedObjectをスレッド間で渡すときはmanagedObjectIDの形で渡して, managedObjectContextのobject
先日ポチっとしたものの5日~9日後に発送となっていたiOS開発におけるパターンによるオートマティズムですが、キャンセルしようとAmazon注文変更画面へログインした途端に翌日発送可能メールが来るという予期せぬ展開で読む機会が得られたので早速読んでみました。 多分、そこそこiOS開発している人はどこかしらに「あぁ、これはよくやる」というところや本に書いてあること以外にもオレオレフレームワークを用意していたりなど自分なりのパターンがあるんじゃないかと思います。 いい機会なので先月やっと重い腰を上げて手をつけたCoreDataで今後新しいCoreDataプロジェクトを作る時に楽なように用意したパターン的なものを書いてみます。 CoreData管理クラス CoreDataプロジェクトを作成するとAppDelegate.mにCoreData関連のメソッドがごちゃっと作成されるのですが、これはApp
You are seeing this because the administrator of this website has set up Anubis to protect the server against the scourge of AI companies aggressively scraping websites. This can and does cause downtime for the websites, which makes their resources inaccessible for everyone. Anubis is a compromise. Anubis uses a Proof-of-Work scheme in the vein of Hashcash, a proposed proof-of-work scheme for redu
UIは当然MainThread。MainTreadのNSManagedObjectContextは一つだけ メインスレッド以外の各スレッドは変更/削除のみ。スレッドごとにNSManagedObjectContextをもつ て前提で。 NSManagedObjectContextの生成。これは、ただ一つのクラスのみが行う。 managedObjectContextプロパティがそれを担うが外部からはスレッドだの何だのは見せない。 XcodeのCoreData込みテンプレートのXXX_AppDelegateがベース。 - (NSManagedObjectContext *)managedObjectContext { // 別スレッド用NSManagerdObjectContext if(![NSThread isMainThread]) { id moc = [[[NSThread curre
I'm trying to use core data in a multi thread way. I simply want to show the application with the previously downloaded data while downloading new data in background. This should let the user access the application during update process. I have a NSURLConnection which download the file asyncronously using delegate (and showing the progress), then i use an XMLParser to parse the new data and create
「CoreData Migration - xcmappingmodel 編」と「CocoaBindingを使って画像管理ソフトを作成」の合わせ技です。 なお、「CoreData Migration - xcmappingmodel 編」はサンプルコードすらない旧聞の状態なので、新しいのでも問題ないという人はこちら推奨。 ちなみに私も勉強中なので、間違ってる事書いてたら突っ込みよろしく。日本語で書かれたのがホントに無いんだよね、何故か・・・ CoreDataを使っている場合EntityやPropertyなどのModelを変更する場合が、しょっちゅうあります。今回はそのModelを変更した際の対応方法。 今回は、前回「CocoaBindingを使って画像管理ソフトを作成」で作成したソフトを改良するという形で話を進めて行きます。 前回の失念点 まず、前回のアプリで「[appdelegate a
例のCocoa With Loveに面白い記事が新しく追加されました。 The differences between Core Data and a Database みんなのかゆいところをかいてくれるいい文章だと思います。私自身も最初にCore Dataを使い始めた時にまるでRDBMSを使うような感覚でオブジェクトグラフを設計していたのを今でも覚えています。 詳細は上記のリンクを読んで頂ければいいと思いますが、同記事を読んで私なりに理解したものを要約すると下記の通りです。 ・DBMSはディスクにあるデータを最新の状態に保つためのものであるが、Core Dataはメモリ上のオブジェクトグラフを操作するためのものである。もちろん、Core Dataもデータのディスクへの保存やデータの取得、無欠性の保証をするが、それらはあくまでもサポート的な機能であり、そもそもの目的はオブジェクトグラフの管
MacOSXプログラミング。毎日更新。 話題: Cocoa, Objective-C, Snow Leopard 複数の NSManagedObjectContext Core Data では一つのDBに対して複数の NSManagedObjectContext を使うことができる。NSManagedObjectContext を複数使うケースとしては、例えば同じDBを扱う複数のビューを用意して編集途中の状況をお互いに影響与えないような使い方が考えられる。編集が確定した時だけ他のビューへその変更内容を反映する。 Optimistic Locking ただしこの場合、複数のビューで同時に編集が行われるとデータに不整合が生じる恐れがある。Core Data ではこのような不整合を防ぐ為に Optimistic Locking(楽観的ロック)を採用している。Optimistic Locking
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く