タグ

objective-cに関するnauthizのブックマーク (14)

  • Objective-CはSwiftに置き換わるのか? - Qiita

    「Objective-CがSwiftに置き換わる」っていうのがピンとこないのです。 それは、Swiftそのものがオープンソースになっても、あまり変わらないと思います。 以下はすごーくざっくりした知識で書いています。 Objective-Cの歴史 そもそもObjective-Cが何なのか、あまり知られていない気がします。 超ざっくり説明すると、AppleをやめたジョブズがApple OSの「次」として、当時としては革新的なオブジェクト指向OSだったNeXTSTEPを生み出しました。NeXTSTEPの存在は後の様々なOSに影響を与えました。OSXやiOS自体、NeXTSTEPの系譜です。 NeXTSTEPはオブジェクト指向のOS・開発環境・開発言語を統合し高い生産性を実現していました。その開発言語がObjective-Cでした。NSのプレフィクスの意味が、NeXTSTEPの略称というのは、比較

    Objective-CはSwiftに置き換わるのか? - Qiita
  • Modernize your Objective-C

    Many people consider the Objective-C a verbose language, with a cumbersome syntax, whilst it is actually a very simple language with few rules. Year after year the language has been changed many times with small but very important improvements. Particularly in the last two years many features have been added to modernize the language. In this talk you will see all the latest news and a series of b

    Modernize your Objective-C
    nauthiz
    nauthiz 2014/04/16
    Modernize your Objective-C / 知らない機能が多くて勉強になる。
  • iOS Practice — ios-practice 0.1 documentation

    See also Objective-Cによるプログラミング AppleによるObjective-Cでのベストプラクティスについてかかれた文章 github/objective-c-conventions GithubによるObjective-Cのコーディングルール

  • ニューヨーク・タイムズ Objective-Cスタイルガイド

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    ニューヨーク・タイムズ Objective-Cスタイルガイド
  • Grand Central Dispatch その7 おまけ | Objective-Audio

    さらに今更ながら、ASCII.jpさんの「マルチコア時代の新機軸! Snow LeopardのGCD」に、わりと一般向けの説明から始まって、コードを使用したプログラマ向けの説明までしているページがありました。とりあえずここらへんで基知識を得てから、いろいろ試した方が良かったのかもしれません。 その記事を見ていて改めて発見したのは、dispatch_get_main_queueで、メインスレッドで実行されるキューが取得できるという事です。なるほど、これがあればperformSelectorOnMainThreadを呼ばなくてもディスパッチで呼び出しが完結できます。前回のタイマーとかはメインキュー使う方が良い気がします。 でも、こういった解説記事の中でディスパッチソースにまで触れられているものってあんまり見かけないですね。ディスパッチさえあればアプリの基的な仕組みが作れてしまうみたいな。と

  • Grand Central Dispatch その6 timer | Objective-Audio

    いまさらながら、GCDのサンプルソースはMac Dev Centerにもいろいろありますので参考に。中でもDispatch_Samplesなんかはシンプルなサンプルがたくさん集まってますので、最初に見るには良いと思います。 今回からはディスパッチの中でもソースというものを見ていこうと思います。前回のエントリにキューとソースは別なんて一度書いてしまいましたが、間違いでソースでもキューは使います。 と書いてて、ディスパッチのソースと、ソースコードの区別がわけ分からなくなりそうなので、ディスパッチのソースは「ディスパッチソース」と呼ぶ事にします。 ディスパッチソースの種類にはいろいろありますが、基的には、何かしら外部からイベントを受け取ったらキューにブロックを渡すというもののようです。以下のようなものがあります。 DISPATCH_SOURCE_TYPE_DATA_ADD: DISPATCH_

  • Grand Central Dispatch その5 semaphore | Objective-Audio

    ディスパッチはいままでの並列処理の方法と比べるとシンプルで簡単だ、なんて書かれていたりしますけど、どうやらセマフォは欠かせないようで、ディスパッチにもあります。 とりあえずサンプルコードから。 #include <stdio.h> #include <unistd.h> #include <dispatch/dispatch.h> int main (int argc, const char * argv[]) { dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0); dispatch_group_t group = dispatch_group_create(); dispatch_semaphore_t semaphore = dispatch_semaphore_

  • Grand Central Dispatch その4 group | Objective-Audio

    前回紹介したdispatch_applyはブロックの処理が終わるまで待ってくれていましたが、dispatch_asyncは別スレッドで処理されてしまうので、どの順番で処理されるのかも分からない状態でブロックを処理させっぱなしになってしまいます。 グループというのを使えば、asyncで処理する複数のブロックをひとつのグループにまとめて、それらのブロック全部が終わったタイミングを受け取る事が出来ます。 まず、グループを作る関数がこれです。 dispatch_group_t dispatch_group_create(void); 次に、グループで処理させたいブロックを渡すのがdispatch_group_asyncです。グループはasyncオンリーでsyncはありません。 void dispatch_group_async(dispatch_group_t group, dispatch_qu

  • Grand Central Dispatch その3 apply | Objective-Audio

    前回のコードのように同じ処理をforループでキューに渡すようなとき、それ専用の関数がディスパッチには既に用意されています。dispatch_applyです。 void dispatch_apply(size_t iterations, dispatch_queue_t queue, void (^block)(size_t)); iterationsの数だけブロックをキューに渡して処理させます。ブロックはsize_tの引数を一つだけ持ち、よくあるforループと同じように0から1ずつ増やした値が渡されます。 まずは、サンプルコードです。 #include <stdio.h> #include <dispatch/dispatch.h> int main (int argc, const char * argv[]) { dispatch_queue_t queue = dispatch_ge

  • Grand Central Dispatch その2 Queue | Objective-Audio

    Queueを作る ディスパッチの基的な使い方は、処理したいコードをブロックや関数で用意しておいて、キューにそのブロックや関数を渡すという流れになります。 ディスパッチのキューには2種類あります。アプリ(OS?)に最初から一つ用意されているグローバルキューと、自分で作るキューです。グローバルキューは並列に処理できますが、自分で作るキュー(以後シリアルキューと書いて区別します)は入れていった順番に直列でしか処理できません。 キューはdispatch_queue_tという型のオブジェクトで表されます。ディスパッチのオブジェクトは他にもいくつかありますが、それは次回以降に後回しにします。 グローバルキューを取得するにはこの関数を使います。 dispatch_queue_t dispatch_get_global_queue(long priority, unsigned long flags);

  • Grand Central Dispatch その1 Block | Objective-Audio

    Grand Central Dispatchについて日語で丁寧に詳しく説明してくれるサイトはないかなぁと待っていたのですが、待っている間にひととおり自分なりに調べ終えてしまったので、まとめて書いておきます。まちがいに気がついたらご指摘いただけるとうれしいです。 Grand Central Dispatch(以下ディスパッチと書きます。リファレンスとか関数名とかGrand Centralって全然ついていなくてDispatchだけですし。)とはなんぞやというと、Snow Leopardから導入された並列処理のAPIです。並列処理といえばLeopardではNSOperationというObjective-CのAPIが導入されましたが、ディスパッチはC言語のAPIとして用意されていて、システムに近い低レベルなところで使えるものです。 あれこれ試した印象で言うと、コアが2つしかないCPUMacでた

  • 今日からライオンでも使える!Xcode4.4 Modern Objective-C Syntaxでコードをきれいにする方法 – Zero4Racer PRO Developer's Blog

    Mountain Lion発表とともにリリースされたXcode4.4。OSX Lionでも使える様になっています。Xcode4.4から、llvm (コンパイラ)のバージョンが4.0になっています。 それによってObjective-Cの書き方にかなりの改善が加えられたので、それを簡単にまとめておきたいと思います。これらの改善は、iOS6に関係なく動作するので、いま作っている、iOS5用のコードにも使用出来ます。 synthesize by default コンパイラが@synthesizeを補完してくれる様になったため、基的な状況では、@synthesizeを書かなくてよくなりました。また、synthesizeされる相手のivarも、同名の変数ではなくて、アンダーバーを最初に付けた物がデフォルトとなります。これまで議論されて来たことがappleのコンパイラによって、これからは定義されている

    nauthiz
    nauthiz 2012/07/26
    NSNumber, NSArray, NSDictionaryの@リテラルが便利♪
  • 永久保存版!iPhoneアプリ開発に必ず役立つ!Objective-c Tipsまとめ! | PLUS

    これまでに私自身が実際に試して実践してきた、iPhoneアプリ開発に関するTips集を一覧でまとめました。小粒の小技集が多いですけど、iPhoneアプリを開発する際の手助けになれば幸いです。 [Tips]UINaviga … 続きを読む →

    nauthiz
    nauthiz 2012/04/08
    「iPhoneアプリ開発に必ず役立つ!Objective-c Tipsまとめ!」
  • こたつつきみかん » Objective-C クイックリファレンス

    iPhone の流行により、 Objective-C に興味のあるプログラマが増えてきたので、ここに Objective-C のクイックリファレンスを書くことにします。対象は、すでに他のオブジェクト指向言語習得者です。たとえば、JavaC++ といったプログラマを対象としています。必要最低限のことをまとめたので、より詳細は他のところで補完してください。 目次 基 クラスの使い方 クラスの宣言・実装 プロパティ メモリ管理 基的なクラス デリゲート プロトコル カテゴリ 例外 Key Value Coding Key Value Observing Notification Blocks Grand Central Dispache Objective-C の特徴 Objective-C を表すいくつかのキーワードを思い浮かべると、「ルーズ、テキトー、ダイナミック、シンプル」などと

    nauthiz
    nauthiz 2010/06/21
    「Objective-C クイックリファレンス」
  • 1