All Topics Design Web iOS Android More topics Set up Detox for end-to-end testing in your React Native App Looking to set up Detox in your next React Native application? Here we have a guide to make your life easier!
NSManagedObjectのプロパティをstubしようと思ってめっちゃはまった. こんな風に普通にstubしようとしてもstubできない. // こんなNSManagedObjectのサブクラスがあるとする // @interface Event : NSManagedObject // @property (nonatomic, retain) NSDate * timeStamp; // @property (nonatomic, retain) NSString * title; // @end id mock = [OCMockObject mockForClass:Event.class]; [[[mock stub] andReturn:@"test"] title]; XCTAssertTrue([[mock title] isEqualToString:@"test"]
High Performance Core DataMatthew Morey5K views•139 slides
第54回 Cocoa勉強会関西 で、CoreDataについて話をしてきました。 3行要約 CoreDataのベースはRDBMS。データベース界隈の知識をCoreDataでの開発に活かそう! Atomicity(原子性)を気にしよう! データのバックアップは超重要 どんな話? CoreDataとACID from Tadahisa Motooka デモで使ったサンプルアプリのソースコードは、こちら(Github) ViewController.mの途中にある「#define WITHOUT_ATOMICITY」の行をコメントアウトしたりしなかったりして、挙動の変化をお楽しみ下さい。 なぜ、この話をしようと思ったのか 2013年の前半頃だったと思いますが、AustraliaのAppStoreでランキング上位に居たアプリの中で、Monopoly(モノポリー)というゲームがありました。ご存知の方も
NSUserDefaultsはデータの永続化にとても便利なクラスですが、大量のデータを扱う際はCoreDataなどデータベースに基づくクラスを使った方メモリ的の使用量が押さえられ、検索速度的にも有利です。 では、どの程度までのサイズのデータでしたらNSUserDefaultsで無理無く扱うことができるのでしょうか。 この疑問を自分なりに解決するために、以下のコードを書いてみました。 - (void)viewDidLoad { [super viewDidLoad]; mArray = [NSMutableArray new]; NSArray *array = @[@"赤", @"青", @"緑", @"黄", @"白"]; int repeatNumber = 10000; for (int i = 0; i<repeatNumber; i++) { NSMutableString *s
This is an abridged chapter from our book Core Data by Tutorials, which has been completely updated for Swift 4.2 and iOS 12. This tutorial is presented as part of our iOS 12 Launch Party — enjoy! During app development, well before the ship date, thorough testing can help iron out the data model. However, changes in app usage, design or features after an app’s release will inevitably lead to chan
Two weeks ago I wrote about the huge performance differences between various concurrent core data stack setups when importing data. The old-school setup with two independent contexts using the same persistent store coordinator turned out to have a much smaller performance impact on the main thread compared to an alternative parent/child setup. In this article I will take a look behind the scenes o
A few weeks ago I wrote about a concurrent core data stack setup which uses the nested context feature introduced with iOS 5. This setup was recommended amongst others by Marcus Zarra. It seemed elegant and straightforward, while putting the majority of the heavy lifting on a background thread. I was wondering though how much the main thread will be affected in this setup by extensive work done in
データベースを扱うのに CoreDataは便利ですが、大量データの更新や保存をする際にはメインスレッドを妨害しないように別のスレッドで処理する必要があります。 ここでは CoreDataで非同期処理を行うための Tipsを紹介します。 元ネタは Multi-Context CoreData です。より詳しい解説や図解はこちらをどうぞ。 NSManagedObjectContext とマルチスレッド NSManageObjectContext は CoreDataのデータオブジェクトを管理するクラスですが、このクラスはスレッドセーフではありません。このため、マルチスレッドで CoreDataのオブジェクトを扱えるようにするにはスレッドごとに NSManageObjectContextを用意する必要があります。 iOS 5以降では initWithConcurrencyType: に NSPr
Shiira Project - Shiira mini Now Available. Shiira is a web browser based on Web Kit and written in Cocoa. The goal of the Shiira Project is to create a browser that is better and more useful than Safari. All source code used in this software is publicly available. Vad säger svenskarna? Tidigare, redan 2005, spelade svenska spelare på onlinekasinon och vadslagningssidor via webbläsaren Shiira. Sed
XAML と C# を使った Windows ストアアプリ(LOB)構築のためのtips Prism 4.5 & Kona project 等のご紹介Shotaro Suzuki
CoreDataについて、幾つか小技があるのでメモ。 該当件数を取得する SQLに於けるcount文です。 [objc] NSManagedObjectContext *context = …; NSFetchRequest *request = …; NSError *error = nil; NSUInteger count = [context countForFetchRequest:request error:&error]; [/objc] 最大値取得 本来はNSExpressionDescriptionを使うべきなのでしょうが、ソースが長くなるので order … limit 1 で代用できます。 idの最大値を取る場合 [objc] NSManagedObjectContext *context = …; NSFetchRequest *request = …; NSSor
こんにちは。検索サービス開発4チームでメッセージアプリのLINEのiPhoneアプリ開発を 担当している金泰敬(キム テギョン)です。 今回説明させて頂きたい主題はLINEのモデル側を支えているCore Dataです。 Core Dataは、MacOS XのベースFrameworkであるCocoaのMVC構造のうち、 Model側を担当しているFrameworkです。 Core Dataを利用するとデータモデルの設計、オブジェクトのデータの読み取り、書き込み、管理などを簡単に行うことができます。 現在、LINEではCore Dataを利用してメッセージ、トーク、グループ、ユーザーなどを管理しています。 例えば、相手のメッセージが到着するとまずコアのデータからSqliteDBに格納します。 そして保存されたメッセージに関連しているトークでも更新が行われます。 もしそのメッセージが
iphoneアプリでデータの永続化にCoreDataの使用について、ちょっと整理していきましょ。 (これまで使ってきたDB接続のインターフェイスとは考え方が違うのでちょっとわかりにくかったこともあるので。) 使用している開発環境は、「XCode 3.2.1」です。 アプリケーションの作成 プロジェクトのタイプとして「navigation-based Application」を選択、「Use Core Data for storage」をチェックしてプロジェクトを作成するとCore Dataを使うためのテンプレートソースなどを作成してくれます。 今回をそれを利用します。 基本的なオブジェクト 「Core Data」を使用するさいの基本となるオブジェクトを生成するコードが、アプリケーションのデレゲートクラスに作られます。 このクラスのヘッダーファイルは以下のようなものになりますが。 @inte
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く