iOS SDK (Cocoa touchフレームワーク) のAPI群についての勝手な感想。 根拠はなくはないけど基本的に経験からくる主観による。異論その他ツッコミ歓迎。 まだ途中だけど続きがあるかどうかは。。。
![iOS SDKの各クラスの完成度について雑感](https://cdn-ak-scissors.b.st-hatena.com/image/square/e30f0c6e54302e4a8b004e832ab48a93162c97f9/height=288;version=1;width=512/https%3A%2F%2Fs.togetter.com%2Fogp2%2Fbc1c5ecea96db9fac30f2e4a99c956a3-1200x630.png)
NSNullはnilとして振舞うべきじゃないかなー。unrecognized selectorで例外なげるんじゃなくて。 2011-04-11 21:07:10 via Echofon @k_katsumi 私もそう思います。サブクラス化するなりカテゴリで上書きするなりして nil として振る舞えるようにできないですかね? 2011-04-11 21:46:39 via Twitter for iPhone to @k_katsumi @griffin_stewie URL こんな感じでOKっす。 2011-04-11 21:47:58 via Echofon to @griffin_stewie @k_katsumi おお!でも、カテゴリで既存メソッドの上書きはあんまりやりたくないですね。 2011-04-11 21:53:46 via Twitter for iPhone to @k_
iPhone開発で、メモリ管理の基礎を社員に伝えることが増えてきたので、エントリとして書こう。 Objective-C基礎 メモリ管理の前にObjCの基礎として、メソッド呼び出しの話。 クラスのインスタンスaがmethodAをコールするときは、 [a methodA] と書く。このとき、aがnilだったときは、エラーではなく、コールされない。methodAに戻り値があるときは、それは、0やnilやNOが返る。ObjCでは、 void dealloc { if(a!=nil){ [a release]; } [super dealloc]; } は、気持ち悪いので、nilチェックはやめましょう。 なお、ObjCでは、動的にメソッドを差し替えることができ、コールの度にメソッドが存在しているかも確認しています。そのため、LL言語(ライトウェイト言語、スクリプト)のように柔軟な記述が可能です。そし
Twitter APIの認証 Twitter APIの使用は、現在"BASIC認証"と"OAuth"の2通りの方法が用意されている。が、今年6月(?)でBASIC認証が使えなくなるという噂で、今後はAPIを使用するのにはOAuthを使用する必要が出てくるようだ。 まぁBasic認証はパスワードだだ漏れになっちゃうからやめておこうよ、という話ですかね。 Basic認証 - Wikipedia Code — OAuth iPhoneアプリでTwitter APIを使いたい場合 結構iPhoneのTwitterクライアントアプリってたくさんあるけど、どういう実装なのだろう? 大抵は初回起動時に設定画面でユーザー名とパスワードを入力させて、それを使ってBASIC認証でアクセスしているのではないのかな? BASIC認証を使うAPIアクセスの実装は比較的簡単。(base64エンコーディングを実装せずに
[若き日の Steve Jobs] Flash をめぐる紛争についてたいへん刺激的な論考がある。 steve’s blog: “The Genius in Apple’s Vertical Platform” by Steve Cheney: 14 April 2010 * * * 戦略的理由 今週アップルはデベロッパを特定の開発ツール XCode に閉じ込めた。これはアドビの Flash を潰すためだと多くのひとは考えた。たしかに戦術的にはそうだ。しかしもっと大きな戦略的理由があるのだ。アップルは XCode ツールに移行するようデベロッパを促すことにより、アーキテクチャを変更する準備を整えているのだ。 This week Apple confined developers to a specific set of tools (XCode). A lot of peop
iPhone アプリケーションのプログラミングでは、メモリ管理に注意する必要があります。 特に解放済みのオブジェクトをさらに解放してしまったり(二重解放)、解放済みのオブジェクトを操作しようとした場合は即座にアプリがクラッシュしてしまいます。 このようなメモリ関連のバグによるクラッシュの場合、何も残さずに突然終了してしまうことが多いため、原因の究明が困難です。 そんなメモリ管理のバグを Instruments を使って少し簡単に調査する方法を紹介します。 残念ながら、シミュレータでしが機能しないのですが、それでも原因の解明が簡単になる場合が結構あります。 下記のサイトでは、動画と画像でさらに詳しく解説されているので、そちらも参考にしてください。 iPhone Memory Debugging with NSZombie and Instruments — markj.net プロジェクトを
iPhone アプリ開発の手始めに、NSURLConnection と NSOperation を組み合わせた Simple Http Client というモジュールを作りました。 使い方は、付属のテストコードを読んで頂けると、簡単に理解できると思います。 とても行数が少ないので、作る価値があったのか謎ですが(w; cooldaemon's SimpleHttpClient at master - GitHub 初めての Objective-C なので、突っ込み&添削は大歓迎です。 機能追加しました。詳細は、SimpleHttpClient に JSON と XML のフィルタを追加しました をご参照ください。 HTML フィルタも追加しました。HTML に対して XPath が使えます。 NSOperationQueue を外部から与えられるようにしました。当たり前の事ですが、スレッドを
前回の予告通り、今回からデザインパターンをObjective-Cで実装してみる。 取り上げるパターンの順番だが、テキストとして使用する「オブジェクト指向における再利用のためのデザインパターン」(以下GoF本)とは少し変更する。まず生成に関するパターンから始めるのは同じだが、その中のSingletonを最初に取り上げよう。 Singletonとは Singletonは、インスタンスを1つしか生成しないクラスのためのデザインパターンだ。主な用途としては、ファイルマネージャや、ウィンドウマネージャなど、対象がただ1つしかないものが挙げられる。 Singletonクラスのインスタンスを取得する場合、通常のalloc、initといったメソッド(C++でのnewに相当)は、使わない。その代わりに、インスタンス取得のためのメソッドを提供することになる。作成された、ただ一つのインスタンスは、Singlet
Captcha security check sohaya.com is for sale Please prove you're not a robot View Price Processing
Interface, Interaction and Intelligence [ソーシャルネットワーク アノテーション モビリティ 集合知 拡張現実]に関する研究と私的日常に関する備忘録 HTTPプロトコルでのGET/POSTメソッドを用いたkey=value形式のデータの送信時においては、value部分に含まれる特殊文字などを正しく通知するためにURLエンコーディングをする必要があります。空白(0x20)を'+'に置き換えるほかに、URL上許されない文字については16進表記(%XX)にする必要があります。 iPhoneおよびMac OSのフレームワークの文字列クラスであるNSStringクラスには、下記のようなURLエンコード用の関数があるけれど、value要素のエンコーディング目的で利用するのは間違い。 -(NSString *)stringByAddingPercentEscape
NSStringを指定した文字コードでURLエンコードします。 一瞬 stringByAddingPercentEscapesUsingEncoding: のみで事足りそうに思うのですが、それだけだと下記コード中の escapeChars にある文字達が残ってしまいます。 @implementation NSString (URLEncoding) -(NSString *)stringByURLEncoding:(NSStringEncoding)encoding { NSArray *escapeChars = [NSArray arrayWithObjects: @";" ,@"/" ,@"?" ,@":" ,@"@" ,@"&" ,@"=" ,@"+" ,@"$" ,@"," ,@"[" ,@"]" ,@"#" ,@"!" ,@"'" ,@"(" ,@")" ,@"*" ,nil]
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
メモリ管理を理解する(前編):Cocoaの素、Objective-Cを知ろう(7)(1/2 ページ) iPhone用アプリケーション開発で注目を集める言語「Objective-C」。C++とは異なるC言語の拡張を目指したこの言語の基本を理解しよう(編集部) あらゆるアプリケーションは、システムのメモリ上に展開されて動作します。 メモリは限られた資源なので、アプリケーションは資源を無駄に消費しないよう自己管理しながら動作する必要があります。この動作を実現するのが、開発者によるメモリ管理の実装です。 新しく登場した言語のなかにはメモリ管理が自動で行われる(言語のエンジン部分で暗黙的にメモリ管理がされている)ものが多いため、開発者がメモリ管理を意識することが少なくなっています。 実際、Objective-Cでも、Objective-C 2.0から(Mac OS X 10.5 から)はガベージコレ
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
最近Twitter熱が僕の回りでも加速してきたけど、アプリ標準機能として搭載すべく、iPhoneアプリ内でtwitterポストするためのサンプルコードを書いてみた。 Twitter API Wiki / Twitter REST API Method: statuses update 詳細は公式Wikiに譲るとして、最低限のAPI仕様は http://twitter.com/statuses/update.xmlへ ベーシック認証つきで POSTメソッドを使い statusパラメータ=「つぶやき」のリクエストを投げる 上記4点が満たされていればOK。 そんな条件を満たしたポストコードが以下。 ?View Code OBJECTIVE-C- (void)update:(NSString *)tweet { static NSString *udpateUrl = @"http://
いろいろな資料をあさっているうちに何をどこまで読んだのかよくわからなくなってきたので、今読んでいる日本語で読める資料をまとめてみようかと思います。 ただ、iPhoneのコアAPIであるCocoa touch関連資料は、英語の資料しかない上NDAの関係で今のところADC(Apple Developer Conneciton)に加入しないと読めない状況です。ですから、その前段階の準備としてとりあえずObjective-C 2.0の日本語の資料を集めてみました。 【Objective-C 関連】 ・詳解 Objective-C 2.0 通称「萩原本」。500ページ以上というボリュームですが、新しい言語仕様を含めObjective-Cをマスターするのには最適の本です。出費をいとわなければぜひとも押さえておきたいところです。 ・Objective-C 2.0プログラミング言語 Apple
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く