タグ

ブックマーク / glassonion.hatenablog.com (7)

  • iOS アプリの画面開発の基礎を理解する - A Day In The Life

    前回の記事「iOS アプリの構造がどのようになっているか紐解いてみる」で iOS アプリの構造について説明しました。深いところの説明ばかりだったのでもう少し浅いところ、画面の見た目や画面遷移を実装する方法について説明します。 ユーザの要望がどのようにアプリに反映されるのか アプリができる背景には「アプリでこんなことしたい」というユーザの要望とか、開発者自身の「アプリを通してXXのような素晴らしい体験をユーザに提供したい」という思いが出発点になっています。 ユーザの要望だったり開発者の思いは「UX設計」「ユースケース抽出」「UI設計」という3つの段階に分けてアプリに反映していきます。図にすると以下のような感じです。 UX(ユーザエクスペリエンス)設計 ユーザの要望や開発者のこんなもの作りたいという思いを元に、いつ、どこで、誰が使うのか?アプリが使われる状況を洗い出す。その上でユーザがアプリを

    iOS アプリの画面開発の基礎を理解する - A Day In The Life
  • NSUserDefaults を使ったデータの保存方法 - A Day In The Life

    iOS でデータを永続化する方法の続きです。今回は NSUserDefaults クラスを使ったデータの永続化方法について説明します。このクラスを使うと簡単にデータの保存と読み込みが出来るのでアプリ開発で頻繁に使用されています。 NSUserDefaults って何? アプリ固有の設定値を保存することに特化したクラスです。アプリ開発者は NSUserDefaults オブジェクトを通して Key-Value 形式でデータにアクセスします。データの保存場所の管理は NSUserDefaults オブジェクトがすべて行ってくれます。 実際のデータは ホーム/Library/Preferences 以下にプロパティリスト形式で保存されます。 データの保存と取得で使用するメソッド NSUserDefaults クラスにはデータ型に応じて以下の保存と取得メソッドが定義されています。 オブジェクトの型

    NSUserDefaults を使ったデータの保存方法 - A Day In The Life
  • iOS でデータを永続化する方法 - A Day In The Life

    iOS データ設計入門の続きです。前回は iOS であつかうデータ全般について書きましたが今回はデータをフラッシュドライブに保存する方法について説明します。 データの永続化って何? メモリにあるデータはアプリを終了すると消えてしまいます。 アプリを終了しても残しておきたいデータはフラッシュドライブに保存する必要があります。メモリにあるフラッシュドライブに保存することをデータの永続化といいます。永続化されたデータはフラッシュドライブが壊れない限り永続的に保存され残ります。以降 iOS でフラッシュドライブがどのように管理されているのかと、データを永続化するのにどのような方法があるのかについて説明していきます。 フラッシュドライブを構成する3つの領域 データを永続化する方法を説明する前に iOS でフラッシュドライブがどのように管理されているか見ていきましょう。 iOS ではフラッシュドライブ

    iOS でデータを永続化する方法 - A Day In The Life
  • 2011-08-13

    iOSにはいくつか組み込みの効果音が用意されていて AudioToolbox フレームワークを使うと簡単に鳴らすことが出来ます。 手順 プロジェクトに AudioToolbox.framework を追加します。 AudioServices.h をインポートします。 AudioServicesPlaySystemSound 関数を実行します。引数にはサウンド ID を渡します。 #import "RootViewController.h" #import <AudioToolbox/AudioServices.h> @implementation RootViewController - (IBAction)onClick:(id)sender { AudioServicesPlaySystemSound(1000); } @end 音の種類 サウンド ID は1000から1017まで全部

    2011-08-13
  • iOS 組み込みの効果音を鳴らしてみる - A Day In The Life

    iOSにはいくつか組み込みの効果音が用意されていて AudioToolbox フレームワークを使うと簡単に鳴らすことが出来ます。 手順 プロジェクトに AudioToolbox.framework を追加します。 AudioServices.h をインポートします。 AudioServicesPlaySystemSound 関数を実行します。引数にはサウンド ID を渡します。 #import "RootViewController.h" #import <AudioToolbox/AudioServices.h> @implementation RootViewController - (IBAction)onClick:(id)sender { AudioServicesPlaySystemSound(1000); } @end 音の種類 サウンド ID は1000から1017まで全部

    iOS 組み込みの効果音を鳴らしてみる - A Day In The Life
  • SenTestCase で非同期処理のテストをする方法 - A Day In The Life

    今年の2月ごろから iOS 用の HTTP 通信ライブラリの開発をしていています。 シンプルで簡単に HTTP 通信が出来るライブラリを公開しました 非同期で HTTP 通信をするだけの簡単なライブラリなんですが、ユニットテスト(Unit Test)をする時に少しコツが必要だったのでその紹介です。ここで紹介する方法は非同期(Async)処理のテスト全般で使える技だと思います。 iOS でユニットテストを実施するときは iOS に標準で付属している SenTestingKit というフレームワークを使います。 ユニットテストの書き方 SenTestingKit の使い方は Java の JUnit とほとんど同じで簡単です。SenTestingKit では SenTestCase というユニットテストのための基底クラスが提供されています。まず SenTestCase クラスを継承したテスト用

    SenTestCase で非同期処理のテストをする方法 - A Day In The Life
  • iOS のイベント駆動をライフサイクルイベントとユーザアクションイベントにわけて理解する - A Day In The Life

    iOS は タッチパネル式端末用に最適化された OS で ユーザが端末を操作しやすいように GUI の仕組みが提供されています。iOS アプリ開発では主に GUI を操作するプログラムを実装していきます。iOS の GUI プログラムはイベント駆動型と言われるプログラミング方式に則ってプログラムを実装していきます。 iOS に限らず Mac OS 用のアプリ開発でも同じようにイベント駆動型のプログラムを実装しますが、 iOS はタッチパネル式モバイル端末用の OS という性質上 Mac OS のイベント駆動プログラムと少し違うところがあります。 この記事では iOS のイベント駆動の仕組みを「ライフサイクルイベント」と「ユーザアクションイベント」にわけて説明します。iOS のイベント駆動がどういったものなのか理解してその仕組みの上で自由にプログラムできるようになることが目的です。 イベント

    iOS のイベント駆動をライフサイクルイベントとユーザアクションイベントにわけて理解する - A Day In The Life
  • 1