iOS向けのネットワークアクセスのためのフレームワーク、AFNetworkingを使っているので紹介。
iOS向けのネットワークアクセスのためのフレームワーク、AFNetworkingを使っているので紹介。
お断り 情報が古いです。更新の予定はありません 未だにストックされる方がいらっしゃいますが、古い情報です。ご自身で最新情報を確認してください。 一部はPopperToolsとしてライブラリを公開しています 以下古い内容 iOSアプリの開発にはjavascript/HTML5/CSSやRubyなど様々な言語が利用可能ですが、漢ならやっぱりObjective-Cネイティブでしょ! Objective-CはCの完全上位互換なので、Cで使える技の数々はもちろん利用可能です。 加えて動的にメソッドを追加できるカテゴリや、プロトコルorデリゲートなど便利な機能がたくさんあるので、ガンガン使って行きましょう! 以下私が普段使っているマクロ・カテゴリ・ライブラリをまとめます。 一部過去の投稿を焼き直したものですがどうかご容赦を>< /* デバッグログ用マクロ。 NSLog()の使いすぎは明らかなパフォーマ
iPhoneで文字入力する際のキーボードを、カスタムキーボードに変更した。目的としては、定型文しか入力しないフィールドに対して選択肢を用意し、入力を簡単にすることである。 それだけを目的とするならピッカーでも同じことはできるのだが、現在作っているアプリケーションでは、ピッカーをグルグル回して選択するよりも並んでいるボタン状のものから選ぶ方が好ましいと思われたので、カスタムキーボードにした。 さらに言うと、単に選ぶだけならUIAccessoryViewを使っても同じようなことが出来そうだが、本来のキーボードも併用して切り替えられるようにしたかったので、カスタムキーボードにしてみた次第である。 大雑把な手順は以下の通り。 UITextFieldクラスを継承して、カスタムテキストフィールドクラスを作る(CustomTextFieldとする) Interface BuilderでCustomTex
実装 まずダイアログを管理する CustomDialogViewController を用意する。 #import "CustomDialogViewDelegate.h" @interface CustomDialogViewController : UIViewController { NSString* labelText_; NSString* buttonTitle_; id delegate_; UILabel* label_; UIButton* button_; } @property (nonatomic, copy) NSString* labelText; @property (nonatomic, copy) NSString* buttonTitle; @property (nonatomic, assign) id delegate; @property (no
iPhoneアプリでよく使われる、ナビゲーションバーに配置するボタン UIBarButtonItem の見た目を完全に画像にする時のテクニックです。 参考にしたページはこちら。 http://discussions.apple.com/thread.jspa?threadID=1505647 http://www.iphonedevsdk.com/forum/iphone-sdk-development/13809-uibarbuttonitem-customview-action.html http://discussions.apple.com/thread.jspa?threadID=1546506&tstart=60 ■作戦1:initWithImage てか、 UIBarButtonItem には initWithImage あるからそれでいいんじゃないか、と思ってさっそく以下の
2012年04月26日09:42 カテゴリprogrammingスマートフォン androidとiOSで共通で使える暗号方式 こんにちは、VOYAGE GROUPのしんばし(@shinbashi)です。 昨今何につけてもスマートフォンですよね。 かくいう僕もPDAからのW-ZERO3という王道を通って来ました。 さて、最近は特にスマートフォン対応とか、アプリ化する機会が増えてきたと思います。 android版を作ればiOS版も出すよ!みたいな話になりますよね。 「android版だけでいい」 なんて言葉を信じて設計すると、後で痛い目を見るのは火を見るより明らかです。 前フリが長くなりました。 android版だけだと信じて僕が痛い目を見たのは暗号化・復号処理の部分です。 Javaはともかく、Objective-Cをよく知らなかったのでライブラリに頼るわけですが、 Objective-Cの暗
ちょっとNSMutableArrayの使い方でハマったのでメモです。 photo © 2008 Simon | more info (via: Wylio) やりたいこと:配列をヌルで埋めたい 大量のオブジェクトを管理したい その個数は決まっているので固定長で確保しておきたい まずnilで埋めておき、後で任意のインデックスのオブジェクトを置き換えたい という意図で次のようなコードを書くとエラーになります。 NSMutableArray* array = [NSMutableArray arrayWithCapacity:numMax]; for( int i=0; i<numMax; i++ ){ [array addObject:nil]; }
ここまでのプログラムは、すべて「最初から順に処理を実行して、すべて終わったら終了」といったものでした。が、プログラムによってはそういう単純な処理の仕方しかしないわけでもありません。 例えば、先に非同期通信を使ってネットワークからデータを受信するサンプルを作りましたが、これなどは「後から処理が呼び出される」という仕組みになっていました。こんな具合に、プログラムによっては「一定時間後に処理が呼び出される」とか「同時にいくつかの処理を実行する」というような場合もあります。 まずは「一定時間後に処理を呼び出す」という場合についてです。これは、いわゆる「タイマー」と呼ばれる機能が用いられます。タイマー機能は、Foundationフレームワークの「NSTimer」というクラスとして用意されています。これは、指定した時間が経過したら、あらかじめ設定されている処理を呼び出す働きがあります。一度だけ呼び出し
1 #define BM_START(name) NSDate *name##_start = [NSDate new] 2 #define BM_END(name) NSDate *name##_end = [NSDate new];\ 3 NSLog(@"%s interval: %f", #name, [name##_end timeIntervalSinceDate:name##_start]);\ 4 [name##_start release];[name##_end release] iPhoneアプリを開発している場合、シミュレータ上の動作時間と 実機での動作時間は全く異なるので、 実際に実機で動かしてみた場合にどの程度の時間がかかっているかを 測定するのに使っています。
Objective-C で、文字列 NSString から日付 NSDate に変換するには、NSDateFormatter クラスを利用します。 NSDateFormatter に文字列の書式を渡した後で、日付からその書式にそって NSDate を取得します。なお、これとは逆に NSDate 型を文字列に変換する方法については NSDate を文字列に変換する を参考にしてください。 たとえば、"2010-06-27" を表す NSDate を取得するには、次のようにします。 NSDate* date_converted; NSString* date_source = @"2010-06-27"; // NSDateFormatter を用意します。 NSDateFormatter* formatter = [[NSDateFormatter alloc] init]; // 変換用の
どうも、佐野です。今回は UIAlertView の拡張カテゴリを作って、delegate ではなく Block でコールバック処理を記述するための拡張カテゴリの作り方を紹介します。 iOS4 から Objective-C では Blocks という独自のクロージャ機能が搭載されました。これによってアニメーションの記述やコールバック処理などグッと直観的・効率的に記述できるようになったのですが、残念ながら UIKit によって提供されているクラスの多くはまだ Blocks に最適化された作りになっていません。UIAlertView もそのひとつです。 UIAlertView は、その delegate を実装することでユーザアクションに対する処理を記述する訳ですが、どうも使い勝手が悪い。例えば、同じで画面内で2通りの UIAlertView を表示するような UIViewController
同僚の女性からクッキーをすすめられても、「サードパーティークッキーは拒否します」とキッパリお断り申し上げたiPhoneアプリ開発担当の七尾です。というか、どう考えてもホワイトデーの(ry さて先週に引き続き、iOS開発でUnicode絵文字を扱う際の注意点について書いていこうと思います。 Combining Character/結合文字 サロゲートペアの他にも同様に気をつけなければいけないのが、結合文字です。 アルファベットに対しての修飾文字を付けたり、数字を四角で囲ったりした文字があります。 そういった文字は結合文字と呼ばれ、iPhoneで入力できる文字でいうと、 1を四角で囲った文字 = 0x31 0x20E3 2を四角で囲った文字 = 0x32 0x20E3 というようになります。 結合文字の文字数を取りたい場合は、特定の修飾文字を読み飛ばせば良いだけなので、 以下のようにさらっと対
iOS は タッチパネル式端末用に最適化された OS で ユーザが端末を操作しやすいように GUI の仕組みが提供されています。iOS アプリ開発では主に GUI を操作するプログラムを実装していきます。iOS の GUI プログラムはイベント駆動型と言われるプログラミング方式に則ってプログラムを実装していきます。 iOS に限らず Mac OS 用のアプリ開発でも同じようにイベント駆動型のプログラムを実装しますが、 iOS はタッチパネル式モバイル端末用の OS という性質上 Mac OS のイベント駆動プログラムと少し違うところがあります。 この記事では iOS のイベント駆動の仕組みを「ライフサイクルイベント」と「ユーザアクションイベント」にわけて説明します。iOS のイベント駆動がどういったものなのか理解してその仕組みの上で自由にプログラムできるようになることが目的です。 イベント
Objective-C では、変数に格納されたクラスインスタンスの種類を調べることができるようになっています。 クラス名を文字列で取得する たとえば、id 型の変数 obj に格納されているクラスの名称を、次のように "NSStringFromClass" 関数を使用して、NSString* 型の文字列で取得することができます。 // クラス名を文字列で取得できます。 NSString* className = NSStringFromClass([obj class]); このようにすることで、変数に格納されているクラス名を NSString 型の文字列として、取得することができます。 ここで注意点したいのが、NSString のようなクラスクラスタの場合には、実際に生成されているインスタンスのクラス名が取得できるようです。 たとえば NSString クラスと NSMutableStr
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く