タグ

Objective-Cとobjective-cに関するDNPPのブックマーク (99)

  • Objective-C のコードレビューチェックリスト - Qiita

    はじめに 稿は Juri Pakaste 氏による Cocoa review checklist (commit fff5703)の翻訳です。他人の Objective-C のコードをレビューするとき注意する点、また普段のコーディングで心がけるべき点についてまとめられています。 なお、原文のタイトルは Cocoa review checklist となっていますが、内容が Cocoa に限らない範囲のトピックをカバーしているため、稿のタイトルは「Objective-C の〜」としました。 誤訳の指摘や例の補足を歓迎します。 コードの見た目とコード以外の問題 不要な #import や @class 宣言を消す #import をソートする .m ファイルの中では、対応する .h ファイルの #import を最初の行に書く。空行をはさんで、ソートされた他の #import を書く。 X

    Objective-C のコードレビューチェックリスト - Qiita
  • OCMockでテストを簡単に書く方法について

    プログラミング (iOS, JavaScript, Jenkins, Sikuli) とMaciPhoneなどの話題が中心のブログ OCMockはXcode標準のテスト環境でも利用可能なモックライブラリです。 OCMockを利用すると他のクラス実装に依存しないようなテストを簡単に書くことができるようになります。 そこで、記事ではOCMockを導入して、プロジェクトに必要な設定を行う方法とOCMockの簡単な利用法について紹介します。なお、利用環境はOS X 10.6.8, Xcode 4.2, OCMock 2.0.1です。 OCMockの簡単な利用法 まずはOCMockの簡単な利用法について少しだけ紹介します。 概要についてはFeatures - OCMockがより詳しいです。 stub テストで未実装なクラスや外部サーバに依存するようなクラスを利用しなければならず、 とりあえずそれ

    OCMockでテストを簡単に書く方法について
  • HugeDomains.com

    Captcha security check iosjp.com is for sale Please prove you're not a robot View Price Processing

    HugeDomains.com
  • TypeScript0.9alphaをNode+Gruntで使うよ

    Swift is the best programming language you should learn and make your dream app easily. Swift programming is a powerful yet easy-to-learn coding language created by Apple. It's frequently used for developing iOS and macOS applications, as well as tvOS and watchOS apps. While you can use other languages to create Apple apps, Swift is the preferred language, and it's recommended because its code is

  • 【iOS/Mac開発】Core Data を使いはじめるのに最低限知っておけばいいこと

    こんにちは。Objective-C は Emacs で書く金内です。 ウェブブラウザ Sleipnir for Mac や Sleipnir Mobile for iPhone / iPad は、ブックマークや履歴・タブのデータを Core Data を使って管理しています。 Core Data は iOS / OS X 開発の主要フレームワークのひとつですが、どうにもとっつきにくいためか、尻込みしてしまう方も多いという印象があります。 この記事の目的は、とっつきにくい Core Data を最低限の内容にしぼって解説して、「なるほどそーいうものなのね。ボク/ワタシのアプリでも使ってみよっかなー」と思っていただくことです。 どんな時に使うの? ひとことで言えば、Core Data は Apple 純正の高機能・高性能データ管理フレームワークです。 iOS / Mac 向けのアプリである程度

    【iOS/Mac開発】Core Data を使いはじめるのに最低限知っておけばいいこと
  • Ring

    Ringとは、リクルートグループ会社従業員を対象にした新規事業提案制度です。 『ゼクシィ』『R25』『スタディサプリ』など数多くの事業を生み出してきた新規事業制度は、 1982年に「RING」としてスタートし、1990年「New RING」と改定、そして2018年「Ring」にリニューアルしました。 リクルートグループの従業員は誰でも自由に参加することができ、 テーマはリクルートの既存領域に限らず、ありとあらゆる領域が対象です。 リクルートにとって、Ringとは「新しい価値の創造」というグループ経営理念を体現する場であり、 従業員が自分の意思で新規事業を提案・実現できる機会です。 Ringフロー その後の事業開発手法 Ringを通過した案件は、事業化を検討する権利を得て、事業開発を行います。 さまざまな事業開発の手法がありますが、例えば既存領域での事業開発の場合は、 担当事業会社内で予算や

  • Mac OS X and iOS Internals

    Book Description Powering Macs, iPhones, iPads and more, OS X and iOS are becoming ubiquitous. When it comes to documentation, however, much of them are shrouded in mystery. Cocoa and Carbon, the application frameworks, are neatly described, but system programmers find the rest lacking. This indispensable guide illuminates the darkest corners of those systems, starting with an architectural overvi

    Mac OS X and iOS Internals
  • インスタンス毎の動的メソッド実装/上書き機能を備えた REKit

    2012年7月12日から、GitHub にて REKit (リキット) というプロジェクトを進めていましたが、公開できるレベルになったと思うので、ここで紹介します。 * 2013.02.12 時点での情報になります。最新情報は、REKit on GitHub や日語 README を参照してください。 REKit は、iOS, OS X の開発で使える NSObject の拡張コレクションです。現時点では Blocks の潜在能力を引き出すような 2つ の機能を提供しています: REResponder: Block を使ったインスタンスの動的メソッド実装/上書き機能 REObserver: Block を使って KVO (Key-Value Observing) を実現する機能 + α 命は REResponder です。REResponder は、インスタンス (クラスではなくインス

    インスタンス毎の動的メソッド実装/上書き機能を備えた REKit
  • Core Animation 中級編 - Qiita

    8/19担当、Qiita初投稿の@inamiyです、こんにちは。 今回は、iOS/OSXアプリのUXの根幹である「Core Animation」について、 ハマりやすい点や、意外と知られていないtipsなどについて書きたいと思います。 アニメーション完了時のコールバック Delegateでif分岐しながら処理する方法もありますが、 [CATransaction setCompletionBlock:]を使う方が、より見通しの良いコードになります。 問題は、アニメーションが正常終了したかどうかのfinishedフラグがないという点ですが、 下記のようなコードを書くと、上手く判別できます。 [CATransaction begin]; [CATransaction setCompletionBlock:^{ CAAnimation* animation = [layer animationFo

    Core Animation 中級編 - Qiita
  • appledocでドキュメント生成 - Qiita

    こんにちは、iOS Advent Calendar / Aug.28日目担当の@mtgtoです。 今日はObjective-Cのソースコードからドキュメントを生成するappledocというツールについて書こうと思います。JavadocやdoxygenのObjective-C版といったところでしょうか。 まずはappledocを見たことのない人のために、実例を見ていただきましょう。 AFNetworkingのドキュメント 一見するとApple謹製のドキュメントのようなデザインですが、実はこれ今回ご紹介するappledocによりソースコードのコメントから自動生成されたものなのです。 サンプル まずはどのように書けばいいのかということで、自分のプロジェクトの中からドキュメント化してあるメソッドのサンプルを持って来ました。 Javadocなどに親しみのある人にはほとんど調べることなく書くことができ

    appledocでドキュメント生成 - Qiita
  • Instrumentsを使用せず、プログラムから空きメモリ量や使用中のメモリ量、CPU負荷を取得する - Qiita

    デバイスの空きメモリ量を取得する host_statistics() を使用して、vm_statistics_data_t 構造体を取得します。その中の free_count という値が空きメモリ量を示しています。(この値の単位はページ数なので、単位をバイトに変換するためにはページサイズを掛ける必要があります。) #import <mach/mach.h> + (unsigned int)getFreeMemory { mach_port_t host_port; mach_msg_type_number_t host_size; vm_size_t pagesize; host_port = mach_host_self(); host_size = sizeof(vm_statistics_data_t) / sizeof(integer_t); host_page_size(host

    Instrumentsを使用せず、プログラムから空きメモリ量や使用中のメモリ量、CPU負荷を取得する - Qiita
  • 中級者向け iOS デバッグ Tips - jarinosuke blog

    導入 iOS 開発者のみなさん、こんにちは。 このブログでは主にチュートリアルだったりフレームワークの紹介みたいなことを書いてきました。 そこで、たまには中級者向けのエントリを書いて「Xcode バリバリ使って、ビシバシ Objective-C 書いてますよ」アピールします。 iOS 開発をはじめて一通り Framework は理解したけど Xcode 使いこなせてる感が足りない方、夢にまで EXC_BAD_ACCESS が出てくる方に参考になる記事となればと思います。 といっても Xcode はマッシブな IDE なので、4つのデバッグツールに分けて「あれ、それ知らなかった!便利じゃん!」な方法を紹介します。 ブレークポイント デバッグには切っても切れない関係ですね。アプリを実行中に指定した行で処理を中断し、そこからステップ実行で細かいデバッグを可能にしてくれます。 ショートカットキー

    中級者向け iOS デバッグ Tips - jarinosuke blog
  • Xcodeプロジェクト内のクラスの依存関係を図示する - Qiita

    他人から引き継いだプロジェクトの大まかな全体設計を把握したい場合、規模の大きいライブラリの一部だけ取り出して使用したい場合、複雑になってしまったコードをリファクタリングしたい場合等、プロジェクト内のクラスの依存関係が一望できると有益な場面は多いのではないでしょうか。 objc_depというスクリプトを用いると、下記のように、Xcodeプロジェクト内のクラスの依存関係を示す図をコマンド一発で生成することができます。 このスクリプトの使い方、生成される図の見方等を紹介します。 スクリプトの実行方法 次のURLからダウンロードしてきて解凍すると、objc_dep.py というファイルが入っています。 https://github.com/nst/objc_dep そのスクリプトを適当な場所に置き、ターミナルから次のように実行します。 というコマンドになります。 依存関係図を表示 出力される.do

    Xcodeプロジェクト内のクラスの依存関係を図示する - Qiita
  • 国際化したStoryboardを一つにまとめる - ninjinkun's diary

    これまでiOSプロジェクトを国際化する際にはStoryboardファイルは対応言語分複数作る必要がありましたが、iOS6からは一つにまとめて、他の言語は.stringファイルで管理することが可能になります。これにより、Storyboardを変更した際もGUIによるレイアウトの変更は一回で良くなります。 ただしこれをやるとiOS5で動かなくなるので注意が必要です。 やり方 Use Base Internationalizationにチェックを入れる BaseにするStoryboardを選ぶ 僕のアプリは日語主体で設計していたので、日語を選択しています。英語の方が主体なら英語を選択した方が良いと思われます。 Localizeされたファイルができる この状態だとstoryboardが2つある従来の状態と一緒です。 .stringファイルを生成する Localizable Stringを選択す

    国際化したStoryboardを一つにまとめる - ninjinkun's diary
  • Objective-CでDeferredライブラリを作ってみた - Qiita

    どうもこんにちは。8/27担当のsaitenです。 XCode4.4から新たに新リテラルが使えるようになったりして、Objective-CがどんどんLL化してるなーと思う昨今です。 さて、今回はObjective-Cで書かれたDeferredの実装がぱっと見で見当たらなかったので作ってみました。 Deferredって何 概念的なところはこの辺りを参照。実装的にはDeferredオブジェクトは未完了、完了、失敗のいずれかの状態を持っていて、完了もしくは未完了の状態になると、予め登録しておいたコールバックに対して状態が変わったことを通知する仕組みを持っているといった感じです。 jQuery等でも実装されていて、javascriptな方面では割りとメジャーなんじゃないかと勝手に思っています。 使い方 例えば、こんな感じでHTTPリクエストを行うメソッドがあったとして、 - (void)reque

    Objective-CでDeferredライブラリを作ってみた - Qiita
  • storyboard時代のInterfaceBuilder

    Storyboards allow designing the visual layout and flow of an iOS app in Interface Builder. Key features include: 1. Defining view controllers and the transitions between them via segues like push, modal, and custom segues. 2. Configuring properties of view controllers and segues like identifiers that are used to perform segues programmatically. 3. Integrating various iOS components like navigation

    storyboard時代のInterfaceBuilder
  • Core Graphicsでつくる自作UIコンポーネント入門

    2. cocoponって誰ですか @cocopon デザイナに憧れる ホビープログラマです Windows用の Mac用の iPhone用の ゲームとか オフラインブログとか クミタテ電卓とか Osciroi Calqum

    Core Graphicsでつくる自作UIコンポーネント入門
  • API Design - Matt Gemmell

    TOLL is available now! An action-thriller novel — book 2 in the KESTREL series. ★★★★★ — Amazon One of the development tasks I do most often is designing the API for a reusable component. The components are usually for iOS (though sometimes they’re for OS X), and are invariably GUI controls or views of some kind. I’ve designed literally dozens of component APIs over the years, including for clients

  • Cocoa Application Startup

    Please note: this article is part of the older "Objective-C era" on Cocoa with Love. I don't keep these articles up-to-date; please be wary of broken code or potentially out-of-date information. Read "A new era for Cocoa with Love" for more. How does a Cocoa Application start up? Where are the main places to put code so that it gets run on startup? Learn the answers in this series of startup diagr

    Cocoa Application Startup
  • [NSObject load] と [NSObject initialize] の違い

    クラスがObjective-Cのランタイムにロードされ利用可能になったタイミングで、そのクラス全体の初期化を行いたいということはよくあると思います。Objective-CではNSObjectクラスの以下のメソッドを用いてクラス全体の初期化を行うことができます。 + load + initializeこの2つですが、結構挙動が異なります。詳細については以下のとおり。 http://cocoawithlove.com/2008/03/cocoa-application-startup.htmlloadメソッドはクラスがロードされて利用可能になったら即座に呼び出される。このとき、自分以外の他のクラスはまだロードされていない可能性があるので、自分以外のクラスを利用するような初期化はできない。main関数の内部のNSAutoReleasePoolが用意されるよりも先に呼び出されるので、autorel