タグ

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

  • はてなブックマークの ShareKit 拡張を書きました - 24/7 twenty-four seven

    ShareKit/Classes/ShareKit/Sharers/Services/Hatena at hatena · kishikawakatsumi/ShareKit · GitHub ShareKit といういろいろな外部サービスとの連携機能を提供するライブラリがあるのですが、それのプラグイン (ShareKit では Sharer と呼びます) として「はてなブックマーク」とリンクを共有するものを書きました。 オリジナルを fork して hatenaランチにコミットしています。利用するには clone して hatenaランチに切り替えます。 家にPull Request を送ったので、もしかしたらマージされるかもしれません。 (既存の Sharer に日のサービスはなかったのでイマイチ勝手がわかりませんでした。) ↓ 発端は fladdict さんとの下記のやり

  • What are the details of "Objective-C Literals" mentioned in the Xcode 4.4 release notes?

    I was going through the release notes for Xcode 4.4 and noticed this: LLVM 4.0 Compiler Xcode now includes the Apple LLVM Compiler version 4.0, including the following newObjective-C language features: [...] - Objective-C literals: create literals for NSArray, NSDictionary, and NSNumber, just the same as the literals for NSString I'm intrigued about this feature. It's not entirely clear to me just

    What are the details of "Objective-C Literals" mentioned in the Xcode 4.4 release notes?
  • [iOS5] ARC : Outletにはweakプロパティを使おう | Natsu note

    [iOS5] ARC : Outletにはweakプロパティを使おう 2011/11/21/|iOS|メモリ管理, iOS5, ARC 今回は、ARCを用いた場合のプロパティ利用に関するTipsです。 ARCって何?と言う方は、まずはこちらからどうぞ。 [iOS5] ARC (Automatic Reference Counting) : Overview [iOS5] ARC : プロパティ属性と使い方 一般的なOutletにはweakプロパティを使う Interface Builderなどを用いて作成したOutletは、一般的に別のview(例えばUIViewControllerのviewなど)のsubviewであることがほとんどです。したがって、これらのOutletのオーナーとなるのはsuperviewのみで十分だと言えます。 ViewControllerは、自身がOutletのオー

    [iOS5] ARC : Outletにはweakプロパティを使おう | Natsu note
  • [iOS5] ARC : 循環参照 | Natsu note

    これまでの記事はこちら: [iOS5] ARC (Automatic Reference Counting) : Overview [iOS5] ARC : プロパティ属性と使い方 [iOS5] ARC : Outletにはweakプロパティを使おう 循環参照とは 今回は、強参照(Strong reference)を使うときに注意したい循環参照(Strong reference cycle)についてです。循環参照とは、その名の通り、2つ以上のオブジェクトが強参照し合うことにより、どちらのオブジェクトも破棄できない状態を言います。 ここで、循環参照が発生するのは、お互いに”強参照“しているときです。複数のオブジェクトが親子関係を持つ場合を考えてみます。 アドレス帳オブジェクトAddrBookと、そのエントリーEntryがあるとします。AddrBookはEntryオブジェクトのentryを、E

    [iOS5] ARC : 循環参照 | Natsu note
  • [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
  • delegate オブジェクトは retain すべきではない - 24/7 twenty-four seven

    Delegating objects do not (and should not) retain their delegates. However, clients of delegating objects (applications, usually) are responsible for ensuring that their delegates are around to receive delegation messages. To do this, they may have to retain the delegate in memory-managed code. This precaution applies equally to data sources, notification observers, and targets of action messages.

    delegate オブジェクトは retain すべきではない - 24/7 twenty-four seven
  • PerlエンジニアのためのObjective-C Blocks入門 - unknownplace.org

    OS X 10.6 以降の xcode では Objective-C に Blocks というシンタックスが追加されている。 Blocks Programming Topics: Introduction Perl でいうところの無名関数(コードブロック)を作ることができる機能で、Perlでいうところの my $f = sub { ... }; $f->(); は void (^f)() = ^{ ... }; f(); のように書ける。書式がきもいのはObjective-Cの定めなのであきらめましょう。 より詳しい書式については上記ドキュメントを見ると良い。 しかしデフォルトではPerlのコードブロックとはレキシカル変数の扱いが異なる。 my $i = 0; my $f = sub { return $i + 1 }; $i++; $f->(); # 2 を返す perlではこのようにレ

  • Objective-Cのメモリ管理 | Netsphere Laboratories

    (2009.1.28 新規作成) Objective-C は、ガベージコレクションがない時代のプログラミング言語です。プログラマがきちんとオブジェクトを解放するように書かなければなりません。 実装として、id 型は objc_objectへのポインタ型です。すべてのオブジェクトはmallocで確保されるイメージで、これはブロック内のローカル変数(のオブジェクト)を自動的に解放してくれるCより悪い状況です。 Objective-Cでは、自動解放プールと、ルールによるオブジェクトの解放で対処します。 gccにはライブラリが何も付いていないので、以降はGNUstepを前提とします。Fedora 10 Linux + gcc 4.3 で確認しました。 NSAutoreleasePool オブジェクトを生成したら自動解放プールに登録するようにします。自動解放プールが解放されるときに登録されたオブジェ

  • NSDictionary の objectForKey: と valueForKey: の違い - 24/7 twenty-four seven

    objectForKey: は NSDictionary のメソッドですが、 valueForKey: は KVC (Key Value-Coding) 由来のメソッドです。 If key does not start with “@”, invokes objectForKey:. If key does start with “@”, strips the “@” and invokes [super valueForKey:] with the rest of the key. NSDictionary Class Reference 上記の通り、たいていの場合 valueForKey: は objectForKey: と同じ結果を返しますが、キー値が「@」から始まる場合、異なる動作をします。 キー値が「@」から始まる場合、「@」を除いた値を引数にしてスーパークラスの valueFo

    NSDictionary の objectForKey: と valueForKey: の違い - 24/7 twenty-four seven
  • clangでObjective-Cプログラムを静的解析

    はじめに 今回は、clangの静的解析機能を紹介します。 LeopardのOpenGLに採用されたことでも知られる、LLVMというコンパイラプラットフォームがあります。clangはLLVM内のプロジェクトのひとつで、gccに変わるC/C++/Objective-C用のLLVMフロントエンドを開発しています。 複数のAppleエンジニアが開発に参加しており、Objective-Cを積極的にサポートしているのも特徴です。 clangでは、通常のコンパイラとして以外にもコードの内部構造にアクセスするいくつかの機能があり、そのひとつが静的解析機能です。 プログラムの静的解析 プログラムを実行せずにプログラムの問題点・バグなどを分析することを「静的解析」といいます。 最近では、JavaのFindBugsが有名ですね。 人力で行うコードレビューも、静的解析と言われることもあります(そりゃそうでしょう

  • NSObject:description メソッドを簡単に実装できる DescriptionBuilder を公開しました。 - 24/7 twenty-four seven

    kishikawakatsumi/DescriptionBuilder · GitHub NSObject クラスの description メソッドをオーバーライドしておくと、NSLog で出力できたりしてデバッグ時に便利です。 ただ、出力する項目が増えてくると、結構な手間になるので、リフレクションを使って自動ですべてのインスタンス変数を出力できるようにしてみました。 このクラスを使うと、description メソッドは次のように書けます。 - (NSString *)description { return [DescriptionBuilder reflectDescription:self]; } このようなオブジェクトの場合、デフォルトでは下記のようにフォーマットされて出力されます。 @interface Settings : NSObject { NSUInteger ver

    NSObject:description メソッドを簡単に実装できる DescriptionBuilder を公開しました。 - 24/7 twenty-four seven
  • Google Objective-Cスタイルガイド 日本語訳

    Text Drop 翻訳、プログラミング、写真、カメラなどについて書いてます。スタイルガイド/コーディング規約やチートシートなど、ちょっと便利なものを翻訳しています。 TEXTdropでは、C++プログラマーも利用できるパワフルな機能を搭載。C++のコードを書く際に行う手順や避けておきたい工程などを詳しく説明しています。コードスタイルラインの日語版では、日語訳やJ P Yへの換金もサポート。話題性があるオンラインカジノ 日円変換や入金の際のバグにも対応しています。統一性のあるコードを書くためのポイントや規約の種類を参考にする事ができます。

  • Objective-C めも - IT戦記

    Hello world! #import <stdio.h> #import <objc/Object.h> @interface Test : Object - (void) msg; @end @implementation Test - (void) msg { printf("Hello world!\n"); } @end int main(int argc, char** argv) { id obj = [Test alloc]; [obj msg]; return 0; } $ gcc hello.m -lobjc include ではなく、 import を使う。 import は一回しか include しない。include once 。ifndef とかで、やってたのがいらない @interface でインタフェースを定義 @implementation で、メソッ

    Objective-C めも - IT戦記
  • [Think IT] 第3回:iPod touchで動作するテキストエディタはこう作る! (1/3)

    完全先取り! iPod touch開発 第3回:iPod touchで動作するテキストエディタはこう作る! 著者:masuidrive 公開日:2007/11/29(木) iPod touch用のテキストエディタを作ろう 「第2回:iPod touchの自作アプリケーションが作れる&動かせる!」では、Mac OS X上にiPod touchの開発環境を構築し、簡単なHello Worldアプリケーションのコンパイルから動作テストまでの流れを紹介しました。 今回はその環境を使って、iPod touch専用のテキストエディタを作ってみます。まず何もしないベースアプリケーションを作成し、それに機能を加えていきます。 質問殺到「JailBreakのやり方」 テキストエディタの開発を行う前に、第1回/第2回公開と同時に寄せられた「JailBreakの仕組みはわかったけど、どうすればできるの?」という

  • 1