タグ

objective-cに関するmasahirox374のブックマーク (32)

  • もう怖くないCocoaの並列処理(GCD & NSOperation/NSOperationQueue) - $ cat /var/log/shin

    Cocoaの並列処理(GCDとNSOperation/NSOperationQueue)に関するまとめです。この記事ではいわゆる「スレッド」については扱いません。スレッドについては、前に記事を書いたのでそちらを参照してください。 Cocoaのマルチスレッドシステム - $ cat /var/log/shin スレッドによる並列処理からの脱却 スレッドは、歴史のある並列処理のための概念ですが、OSのカーネルの方にも密接に関わりがあるなど、抽象度は低めと言えます。 そこで、Cocoaでは、並列処理のための抽象度の高いインターフェースが提供されるようになりました。それがGCDとNSOperation/NSOperationQueueです。これらを使えば、スレッドを何個作成してタスクをどのように実行するか等の細かいことは、ランタイム側が全て決定してくれるので、ユーザは、並列処理したいタスクを定義し

    もう怖くないCocoaの並列処理(GCD & NSOperation/NSOperationQueue) - $ cat /var/log/shin
  • awakeFromNibとinitWithFrameとinitWithCoderの使い方 - Qiita

    initWithFrameとinitWithCoderの違い initWithFrameは、code上でobjectを作る時に呼ばれる initWithCoderは、interface builder(storyboardやnibファイルなど)からobjectを作るときに呼ばれる initWithCoderとawakeFromNibの違い initWithCoderでは、IBOutletやIBActionはロードされていない、awakeFromNibはロードされた後に呼び出される interface builder(storyboard)使ってて、なにも考えず使いたいならawakeFromNibを使うといいのでは initWithFrameとinitWithCorder両方呼び出す可能性があるviewの場合は、initWithCorderで書くこととawakeFromNibで書く内容を分け

    awakeFromNibとinitWithFrameとinitWithCoderの使い方 - Qiita
  • 「ログイン時に起動」を実装する - a.out

    2014/08/13 追記 AppleScriptを使った実装が MacAppStore の審査で Reject される件について書きました。 「ログイン時に起動」を実装する (2) Mac アプリを使っていると、よく「ログイン時に起動 (Launch at Login)」という設定項目を目にします。 とても便利な機能なので、皆さん当たり前のように利用しているかと思いますが、実はけっこう実装が面倒です。 僕も自分の Mac アプリで実装したいと思ったのですが、情報が古かったり間違っていたり、日語の情報が少なかったりで非常に苦労しました。 そこで、これから Mac アプリを作る人のために「ログイン時に起動」の実装方法をまとめておこうと思います。 「ログイン時に起動」3つの実装方法 「ログイン時に起動」を実装する方法は3つあります。(他にもあるかも, CFPreferencesとか) Lau

    「ログイン時に起動」を実装する - a.out
  • NSTableView * NSArrayController && !CoreData - tobioka.net - You Ain't Gonna Need It

    今まで、NSTableViewとNSArrrayControllerを使うときは、CoreDataと一緒にしか使ったことがなかった。 ただ、そんないつもCoreDataが必要ということはないので、勉強もかねてPlainなオブジェクトと一緒に使ってみる。 参考:Takeba.me: ビュー・ベースのNSTableViewをさわってみたよ ※ 記事の題とは違いますが、CoreDataを使わないサンプルとして参考になりました なお、サンプルコードのリポジトリがこっちに変わっているようでした。 takebayashi/ViewBasedTableSample · GitHub 下準備 プロジェクト作成 「MainMenu.xib」を開く Windowに「NSTableView」を追加。「Columns」を1にしておく Objectsに「NSArrayController」を追加。「arrayCo

    NSTableView * NSArrayController && !CoreData - tobioka.net - You Ain't Gonna Need It
  • Customizing selection color for cell-based NSTableView

    Notes about Assembler, C/C++/Objective-C/C#, Java, Python, PHP, Perl, Javascript, ActionScript, LINGO etc. And developed application will be also announced. I would like to show you about the way to make custom selection color on cell-based NSTableView. 1. Make subclass of NSTableView 2. Set the highlight style as NSTableViewSelectionHighlightStyleNone to the subclass like this. [self setSelection

  • Objective-CのSingleton、その歴史的経緯など - Toyship.org

    Objective-Cのシングルトンって、昔はcopyWithZoneとかもあって、無駄に面倒だったような記憶があるんだけど、いつの間にか簡単になったんだっけ……?と思ってたので、ちょっと整理してみました。 ARCとGCDが出る前からシングルトンを実装してた人にはちょっと懐かしい話かもしれません。 Singletonとは 改めて説明するまでもないですが、シングルトンとはプロセス内のどこからよんでも同じオブジェクトにアクセスできるようにするデザインパターンです。 どのプログラミング言語においても重要なデザインパターンです。 iOSのシステムフレークワークでもよく使われており、 などはおなじみですよね。 上のメソッドは何回呼んでも同じオブジェクトがかえるようになっているので、いつでも同じオブジェクトに対して処理をすることができます。 自分で実装しなくても、ほとんどの人はシングルトンパターンを使

    Objective-CのSingleton、その歴史的経緯など - Toyship.org
  • NSObjectプロトコル

  • http://www.objectivec-iphone.com/introduction/delegate/delegate.html

    masahirox374
    masahirox374 2014/03/07
    delegate, protocol
  • [本] レベルアップ Objective-C (Software Design plus)

    x-callback-url とはURLスキームを利用したアプリ間連携の仕組み。他アプリを呼び出すだけでなく、その名(コールバック)の通り呼び出し元で結果を受け取るまでの一連の動作を定めている。 x-callback-url 現在は 1.0 DRAFT...

  • iOSアプリ開発をする自分が始めたばかりの頃から何度も読みなおしてる本 - Qiita

    iOSについては環境の進化が速く、書籍の内容が古くなっていることがほとんどなのですが Android開発を始めたばかりの僕が読みたかったが面白かったので自分も似たようなことを書いておきます。 詳解 Objective-C 2.0 Objective-Cのメモリ管理の仕組みであるリファレンスカウンタについて理解するために購入。現在発売中の第3版ではARCについても記載されているので最新のものを買うのが良いです。 Objective-Cの特徴であるカテゴリやプロトコル、KVOについても詳細に記載されているので何度も読み返すことになると思います。 Amazonへのリンク: 詳解 Objective-C 2.0 第3版 iOS開発におけるパターンによるオートマティズム マイナビでiPhoneアプリ開発の連載を持たれていたHMDTさんの書かれたです。 UIやメモリ管理、実際のモデル設計など盛りだ

    iOSアプリ開発をする自分が始めたばかりの頃から何度も読みなおしてる本 - Qiita
  • ARC のメモリ解放タイミングを調べた - Qiita

    一つの関数内で容量の大きなファイルを読み込み加工する処理を連続して行っていたらメモリが足りなくなった。 ARC ではスコープを外れ(て参照カウンタがゼロになっ)たオブジェクトは、すぐに破棄されると思っていたのでしばらくハマった。 問題のソース(ARC使用) ローカルでもWebでも何でもいいけど、ファイルから無視できない程度の容量のデータの読み込みを繰り返す処理。 - (IBAction)buttonDownWithArc:(id)sender { NSString* path = @".../bigdata.img"; for (int i = 0; i < 10000; i++) { NSData* data = [NSData dataWithContentsOfFile:path]; [NSThread sleepForTimeInterval:0.5]; data = nil; }

    ARC のメモリ解放タイミングを調べた - Qiita
  • NSDictionary⇔自作オブジェクトに変換する方法 - Qiita

    #import "Person.h" @implementation Person - (NSArray *)personKeys { return @[@"firstName", @"lastName", @"bloodType", @"age"]; } @end #import "ViewController.h" #import "Person.h" @interface ViewController () @property (strong, nonatomic) NSArray *personData; @end @implementation ViewController - (NSArray *)personData { NSMutableArray *persons = [NSMutableArray array]; NSDictionary *person1 = @{@"

    NSDictionary⇔自作オブジェクトに変換する方法 - Qiita
  • GitHub - mixi-inc/iOSTraining: Training course repository for iOS app development

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - mixi-inc/iOSTraining: Training course repository for iOS app development
  • [iOS5] ARC (Automatic Reference Counting) : Overview » iOS 開発ブログ Natsu's note - iOS 開発ブログ Natsu's note

    [iOS5] ARC (Automatic Reference Counting) : Overview 2011/11/16/|iOS|メモリ管理, iOS5, ARC iOS 5では数々の機能が追加されましたが、その中でも開発者の私たちにとって嬉しかったのはARC(Automatic Reference Counting)ではないでしょうか。そこで、ARCの概要から注意点まで、基的なところを何回かに分けてまとめていきたいと思います。 ARCとは? ARC (Automatic Reference Counting) とは、その名の通り、自動リファレンスカウンタ。リファレンスカウンタ方式のメモリ管理を自動で(正確にはコンパイラが)行ってくれるというものです。 ご存知リファレンスカウンタ方式のメモリ管理では、retain, releaseなどのメソッドを用いて生成したオブジェクトの保持状

    [iOS5] ARC (Automatic Reference Counting) : Overview » iOS 開発ブログ Natsu's note - iOS 開発ブログ Natsu's note
  • [iOS5] ARC : プロパティ属性と使い方 | Natsu note

    strong __strong修飾子に対応するプロパティ属性です。strong属性を用いたプロパティは参照先オブジェクトのオーナーとなります。 weak __weak修飾子に対応するプロパティ属性です。__weak修飾子を持った変数と同様、weak属性のプロパティも、参照先のオブジェクトが破棄されたら自動的にnilが代入されます。weak属性を用いたプロパティはオーナーシップ権を持ちません。 weak属性は、delegateやOutletの変数に最適です。 なお、iOS 4では__weak修飾子が使えないため、プロパティのweak属性も使えません。この場合は、後述のunsafe_unretainedを使いましょう。 copy __strong修飾子に対応しますが、実際にはコピーオブジェクトが代入されます。copy属性を用いたプロパティは参照先オブジェクトのオーナーとなります。 unsafe

  • ダイナミックObjective-C(111) デザインパターンをObjective-Cで - Observer (3)

    先日Apple社から、iPhone開発者に向けて、いままでiPhone SDKに課されていたNDAの条項を解除する予定であることが発表された。いままではNDAの制限により、公の場でiPhone開発に関わる議論したり、関連書籍の発売などが出来なかった訳だが、ようやく解禁ということらしい。 iPhone開発が格化してくると、これからObjective-Cを始めるプログラマも増えてくるだろう。ジワジワとObjective-Cに風が吹いてくるのが感じられるようになった。 さて、今回も引き続きObserverパターンの話だ。今回は、キー値監視を取り上げる。 Cocoaバインディングの基礎技術 FoundationフレームワークとApplication Kitフレームワークが、Mac OS Xの登場ともにCocoaとして生まれ変わってから、いくつかの大きい変化があった。その中の1つが、Panther

    ダイナミックObjective-C(111) デザインパターンをObjective-Cで - Observer (3)
  • Cocoa Break!

    Cropped Image 1 概要 このサンプルは、ある画像の一部から別の画像を作る。画像の一部を指定するために、選択範囲を使う。このサンプルによって、次のことが学べる。 選択範囲の表示や取り扱い 画像の一部から別の画像を作成する方法 このサンプルを実際に動かして確かめてみよう。 起動すると、上図のように左右2つのビューが並んだウインドウが表示される。右下の「Mandrill」ボタンを押すと、マンドリル猿の画像が表示される。 上図のように、左のビュー内でマウスドラッグを行なうと選択範囲が形成される。そして、右のビューにその部分の画像が切りとられて表示される。左下のボタンの「Update Continously」チェックすると、ドラッグ中でも右のビューに選択範囲内の画像が表示される。チェックが外れると、マウスが上がってドラッグが終了し選択範囲が確定されたときに、右のビューに画像が表示される

  • GCDを試してみる : As Sloth As Possible

    Rubyと比べながらBlocksをいじってみたり、BlocksでNSArrayにmapメソッドを生やしてみたりしてきたので、そろそろGrand Central Dispatch(GCD)も試してみる。あんま関係ないけど、グランド・セントラル・ディスパッチってなんか必殺技っぽいよね。じゃあ一緒に高らかに叫んでみようか。せーの、グランド!セントラル!ディスパッチ!! GCDってなにさ ドキュメント嫁。 …だけだと流石に不親切なので、一応簡単に説明すると、APIを通してぽんぽん処理をqueueにつっこんでってやると、ランタイムの方でそれを上手いこと並列実行しといてやるよ!安心しろチェリーボーイ共、スレッドのことは俺が面倒見てやるぜ!って仕組み。そんな口調なのかどうかはわかんないけど、まぁ大体そんな感じ(適当)。 例によってRubyと比較 まぁ、こんなコードがあったとします。 # ruby f =

    GCDを試してみる : As Sloth As Possible
  • マルチコア時代の新機軸! Snow LeopardのGCD (1/4)

    Mac OS X 10.6 Snow Leopard」は、アプリケーションやカーネルを64bitに対応させたことで性能の向上を図っている(関連記事)。 ただ、それだけでは実行速度を大きく引き上げることはできない。そこでSnow Leopardは、「Grand Central Dispatch」(GCD)と「OpenCL」というふたつの仕組みも用意している。今回はこのうち、プログラムを並列化する枠組みであるGCDについて取り上げよう。 目次 64bit対応 アプリケーションを64bit化、カーネルを64bit化、Windowsの64bit化は? Grand Central Dispatch GCDが生まれた背景、GCDとは何か?、GCDの仕組み、GCDを使ったプログラミング、GCDの今後と将来 OpenCL OpenCLが生まれた背景、OpenCLの仕組み、著名企業がサポート コラム マル

    マルチコア時代の新機軸! Snow LeopardのGCD (1/4)
  • 中級者向け iOS デバッグ Tips - jarinosuke blog

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

    中級者向け iOS デバッグ Tips - jarinosuke blog