2014/02/01 @ GREE
はじめに 本稿は Juri Pakaste 氏による Cocoa review checklist (commit fff5703)の翻訳です。他人の Objective-C のコードをレビューするとき注意する点、また普段のコーディングで心がけるべき点についてまとめられています。 なお、原文のタイトルは Cocoa review checklist となっていますが、内容が Cocoa に限らない範囲のトピックをカバーしているため、本稿のタイトルは「Objective-C の〜」としました。 誤訳の指摘や例の補足を歓迎します。 コードの見た目とコード以外の問題 不要な #import や @class 宣言を消す #import をソートする .m ファイルの中では、対応する .h ファイルの #import を最初の行に書く。空行をはさんで、ソートされた他の #import を書く。 X
Xcode 4.4 から Objective-C が書きやすくなりました、という今更のいまさらな話ですが、ネット上に転がっている少し前のサンプルソースなどは古い書き方のものもあるようなので、今回はよく使う NSArray と NSDictionary と NSNumber の書き方についてだけ備忘録として残しておこうと思います。 NSArray インスタンスの生成 // 古い書き方 NSArray *oldArr = [NSArray arrayWithObjects:@"value1", @"value2", @"value3", nil]; NSMutableArray *oldMutableArr = [NSMutableArray arrayWithObjects:@"value4", @"value5", @"value6", nil]; // 新しい書き方 NSArray *n
『iOSアプリ開発に役立つTips』という Facebook ページをやっておりまして、そこで評判が良かった投稿を 20 個ほど紹介します。(※ Facebook ページの insights にある「クチコミ度」の高いもの) アプリ実行中にコードを修正してそのまま実行中のアプリに反映させる アプリ実行中にコードを修正してそのまま実行中のアプリに反映させることができるXcodeプラグイン。 実機でもシミュレータでも使用可能とのこと。実機での動作検証中に修正して再インストールは時間かかるので、超ありがたいかも。 Injection for Xcode 投稿:2013/2/4 「PCのwebブラウザからiPhoneのカメラロールにアクセスできるようにするアプリ」のしくみ PCのwebブラウザからカメラロールにアクセスできるようにするアプリ。 アプリ側でURLを発行している画面キャプチャがあるので
菠萝菠萝蜜在线视频免费视频_把腿张开臊烂你视频_久久免费看黄_给熟女做私密spa喷水_久久久久人妻一区精品手机版_国产Av白丝_国产精品igao视频网
意識高い人は、コーディング規約作るけど、意識低い人はそれを採用しない。 これはどうしようもないので、もっと意識を高くし、コードフォーマッターを使って処理を自動化する。これで、(命名規則等を除き)見た目の部分でだいぶましになる。 コードフォーマッターにはUncrustifyを使う。 Xcodeを使っている場合は、BBUncrustifyPlugin-Xcodeを利用するとXcodeのプラグインとしてUncrustifyを呼べるようになります。あとはショートカットキーとかを割り当てたりご自由に。 以下一例 例では、Objective-Cを用いているけど、UncrustifyはC, C++, C#, ObjectiveC, D, Java, Pawn, VALAに対応しています。 #import "Test.h" @interface Test(Private) -(void)hoge; @en
こんにちは、iOSプログラマーの_ishkawaです。 このエントリは tech.kayac.com Advent Calendar 2012 8日目の記事です。 テーマは「私の中のマイイノベーション 2012」です。 12月。恋人たちが心の溝を埋めていく中、僕はiOSバージョンの溝を埋めております。 今日はそのテクニックを紹介したいと思います。 それと、紹介するテクニックを使ったマイイノベーションも紹介します。 基本中の基本 iOSでは、バージョンによってクラス/メソッドの有無やプロトコルへの適合状況が異なります。 これらの状況の違いは以下の方法で判別することができます。 メソッドが存在するかどうか: respondsToSelector: クラスが存在するかどうか: [Class class] プロトコルに適合しているか: conformsToProtocol: これらの条件を以下のよ
最近cocos2dを使い始めたのですが、メモリ使用量などの情報表示について調べたので、その結果をまとめておきます。 メモリ情報表示コード ネット上でサクッと次の二つの情報を見つけることが出来ました。 cocos2dで残りメモリ表示 « なんかもう実験的 こちらは、標準のフレームレートを表示しているデバッグ情報のところに残りメモリ量を表示する仕組みを実現しています! 素晴らしい! iPhone-Labo: cocos2dでメモリ使用量をリアルタイムに表示する こちらは前述のサイトをベースに、「残り量」ではなくて「使用量」を表示するようにしています。 様々な環境で利用可能メモリ量は違うので、こちらのほうが有益ですね。 カテゴリがいいんじゃない!? さて、上記サイトの実装は素晴らしいのですが、こういう機能追加こそ、Objective-Cのカテゴリ機能を使うべきだと思ったので、カテゴリで実装しなお
2011年にMOSAのMOSADENコーナーに連載させてもらった「現場のコード」第四回にして最終回です。結局ここが書きたかったというMVCのお話。CocoaのMVCを実践していくために必要な考え方を話しております。 しかし、1年前の今日、2011年の大晦日にドタバタと公開してますな。まったくもってMOSA関係者の皆様には、原稿が遅くて本当にご迷惑をおかけしました。ごめんなさい。連載の機会をいただきありがとうございました。 初出:2011年12月31日 前回からずいぶんと時間が空いてしまいました。前回はテストできるコードの条件について考えたところで、では実際にテストしていくためには、どのようなコードを書いたら良いのか考えていきます。テストできるコードを書く上で何より大事なことは、まずMVCという考え方を身につけて実践していくことだと僕は考えてます。 MVCがテストへの道筋 MVCという考え方
そろそろiOSで開発本腰入れようと思って、便利なライブラリたちを色々挙げてみました。 フィルタライブラリ:GPUImage 爆速のフィルターライブラリ 画像選択:ELCImagePickerController UIImagePickerでかつ複数の画像を選択できるライブラリ 通信:AFNetworking 便利なHTTPクライアント的なやつ AFNetworkingの通信内容が更新されない問題 プログレスダイアログ:SVProgressHUD プログレスダイアログ 単純なものならこちらの方が楽です。 プログレスダイアログ:MBProgressHUD プログレスダイアログ レビュー:Appirater レビュー書いてね!というものを適度なタイミングで自動で出してくれるライブラリ ユーザーフィードバック:AAMFeedback ユーザーからの問い合わせフォームを作成してくれる プルリフレッシ
Objective-CでUnit Testフレームワーク GHUnitの導入手順 Jan 25th, 2013 Tweet Objecitve-CのUnit Testのフレームワークの中では、GHUnitが安定性の面でオススメなようです。ということで、GHUnitの導入にトライしたらドハマリしたので、今後のために導入の手順を残しておきます。 Objective-Cのテストフレームワーク Objective-Cのテストフレームワークの比較は、iOS 向けTDD/BDDフレームワークやモックフレームワークの現状 - laiso - iPhoneアプリ開発グループ がよくまとまっています。ここでの結論は、SenTestingKitが公式でサポートされているのでXCode/iOSのバージョンアップして使い続けられる点で、オススメとのことでした。 一方、TECH-GYM(株式会社プラスアール)さんの
チェック1. なんでもかんでもヘッダーファイルでimportしていませんか? 例えば、こんなコードを書いていませんか? #import "OtherLibrary1.h" #import "OtherLibrary2.h" @interface Library @property (strong) OtherLibrary1* otherLibrary1; @property (strong) OtherLibrary2* otherLibrary2; @property (assign) BOOL flag; @end Libraryというクラスを作り、そこでOtherLibrary1とOtherLibrary2をpublicなpropertyとする場合、当然のごとくOtherLibrary1とOtherLibrary2のimportが必要なわけですが、なにも考えずにヘッダーファイルでO
マクロ マクロの利用については賛否両論がありますが、ぼくはわりかし使います。 ** ※2013/1/9 追記 ** 上記のとおり独自のマクロを使うこと自体に賛否両論あります。 例えば独自のマクロを定義して利用することで、 他の人がコードを見たときに分かりづらくなる 思わぬ不具合が出るケースがある 名前の衝突リスクがある(マクロは名前空間が使えない) などのデメリットがあります。 特にチームや会社でのご利用の際にはよくよくご留意をお願いします。 1. [NSString stringWithFormat:] を簡単に NSString* message = [NSString stringWithFormat:@"HELLO %3.1d", 333.333]; [NSString stringWithFormat:]はよく使うのだが長くて面倒…とよく思ってしまう。 ということで、 #defi
iOS 6.0より追加されたSocial.frameworkは大変お手軽に使用できて、ユーザーさんも毎回毎回素性の知れないアプリに対してTwitter/Facebookログインをし直すという手間と危険性から開放される便利な代物ですが、ちょっとした落とし穴を見つけたのでご紹介します。 SLComposeViewControllerを使っている時に、同じ文面でもTwitterには正常に投稿できるがFacebookには投稿に失敗してしまうというケースが発生することがあります。画面にはただ「Facebookに投稿できません」とアラートが表示されるだけですし、SLComposeViewControllerは投稿失敗時のerrorに対してコールバックblockもdelegateも存在しないので原因を調べることもできません。 実機のコンソールログを見てみると以下の様なエラーになっています。 Jan 8
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く