Mac OS X 用バイナリエディタ。 0xED ファイルの中身を詳細を見るのはもちろん、テキストの改行コードをちょっと確認したい時にも役立つ。PNGやJPEGなど画像ファイルのヘッダ情報を見るのにも重宝しそう。 PNGを開くとこんな感じ。 エディタなのでもちろん変...
Open In とは他のアプリへファイルを渡すあれ。 DropBoxはどんなファイルでも Open In で受け取れるようになっている。そこでDropboxのplistファイルを解析してみたというのがこの記事。 Open In … All Files | Coco...
[What Every C Programmer Should Know About Undefined Behavior #1/3 の翻訳です。] LLVMでコンパイルしたコードは、最適化を有効にしているとたまにSIGTRAPシグナルを生成するのはなぜなのか、と聞かれることがある。いろいろ調べたあと、(X86での話だが) Clangは "ud2" インストラクションを生成していたことがわかった。"ud2" は__builtin_trap()が生成するインストラクションと同じものだ。[訳注: #UD例外を発生させる命令。ソフトウェアが#UD例外をハンドルできているかテストするために使われる。つまり、ソースコードが未定義な振る舞いを使っていたから、LLVMはud2インストラクションを生成したのであって、LLVMのバグではない、ということ] こういう問題は幾つかあって、すべて、Cの未定義な振る
Outline Getting Started Downloading this tutorial Setting up the environment Preamble Making hello world Creating Classes @interface @implementation Piecing it together The Details... Multiple Parameters Constructors Access Privledges Class level access Exceptions Inheritance, Polymorphism, and other OOP features The id type Inheritance Dynamic types Categories Posing Protocols Memory Management R
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
これまでの記事はこちら: [iOS5] ARC (Automatic Reference Counting) : Overview [iOS5] ARC : プロパティ属性と使い方 [iOS5] ARC : Outletにはweakプロパティを使おう [iOS5] ARC : 循環参照 ARCまとめの最終回はAutoreleaseとキャストについてです。また、最後で簡単にですが、Xcodeの環境設定についても触れます。 Autorelease ARC環境下では、これまでのNSAutoreleasePoolは使えません。そうは言っても、別にAutorelease環境がなくなってしまったわけではなく、作法が少し変わったのですね。 まずは、参考までにmain.mを見てみましょう。 非ARC(マニュアルメモリ管理) int main(int argc, char *argv[]) { NSAuto
Mac OS X v10.6以降とiOS 4.0以降ではObjective-CにBlocksというシンタックスが追加されているらしい。 Blocks Programming Topics: Introduction http://unknownplace.org/memo/2010/05/11/1/ RubyエンジニアのためのObjective-C Blocks入門 : As Sloth As Possible 後者のエントリから引用: void (^f)(id) = ^(id x) { NSLog(@"世界の全てを敵に回しても、僕は%@の味方だ", x); }; f(@"うどん"); id型(Object)としてコレクションに突っ込んだりも出来るし、関数呼び出しのように使うこともできるらしい。つまり…どういうことなんだってばよ? てことで調べてみた。 まとめ Blocksは__NSGlo
modalVIewでUINavi付きのViewを表示 そこに表示したいViewControllerを入れる。 ViewController1 *vc = [[[ViewController1 alloc] init] autorelease]; UINavigationController *navi = [[[UINavigationController alloc] initWithRootViewController:vc] autorelease]; [self presentModalViewController:navi animated:YES]; 元のVIewに戻るためのボタンをViewController1に設定。 //完了ボタンの設置 - (void)viewDidLoad{ UIBarButtonItem *bbDone = [[UIBarButtonItem all
原文(投稿日:2011/10/08)へのリンク この話をしておきたいと思います。SteveがAppleに戻る前のことですが、私たちはNeXTでミーティングをしました。私はチーフサイエンティストを連れていました。ミーティングを終えて立ち去る前、私たちはSteveが間違っているところについて説明しようとしていました。彼は明らかに間違っていたからです。でも結局はうまくはいきませんでした。ミーティングを終え、私たちは駐車場にいました。すると彼はオフィスから私たちを見つけて、わざわざここまで出てきて、さらに反論してきたのです。それはObjective-Cというプログラミング言語にまつわる技術的問題を超えていました。どうして彼がそんなに大事にしているのか、私にはわかりませんでした。これほどまでの情熱を今まで見たことはありません。(Eric Schmidt) 多くの人がSteve Jobsのことを忘れな
Objective-Cというプログラミング言語があります。 C言語をベースにオブジェクト指向言語のSmallTalkの拡張を施した言語です。 オブジェクト指向を取り入れたC言語にC++がありますが 根本から拡張されているC++と違い Objective-Cは素のままのC言語にSmallTalkを融合させたような形を取ります。 Objective-Cは世界で2番目に美しいGUIを生み出した現AppleComputer社CEOである Steve Jobs氏がNeXTコンピュータのOSであるNeXTSTEPで採用した言語です。 NeXTSTEP自体はPC/AT互換機やHewlett Packard社のHP9000、 Sun Microsystems社のSparcStationにも移植されたようですが、残念ながら私は触れた事がありません。 現在では希にYahoo Auctionに出品されますが、
Blog about Objetive-C, C, C++, C#, Shellscript, js, swift, java, etc in English, Japanese and sometimes in Spanish. Ignacio Enriquez in: Twitter | Github | Linkedin | Stackoverflow Programming Notes @nacho4d Blog about stuff in Objetive-C, C, C++, C#, Shellscript, js, swift, java, etc in English, Japanese and sometimes in Spanish. Ignacio Enriquez in: Twitter | Github | Linkedin | Stackoverflow 私は
2010/07/10 iOS 4に対応してみる - マルチタスク編 当初は完全にiOS 4のマルチタスク化を諦めていたのだが,使い込んでいくうちに対応している場合とそうでない場合とで結構な体感スピードの差があることに気づいた。ということで,ある程度真剣に対応してみた。※ここではiOS 4以上のみではなく3.X台もきちんとサポートする前提。 まずはアプリケーションのライフサイクルに対応する。ライフサイクルはアプリの大元締めであるUIApplicationDelegateと各UIViewControllerで呼び出される各メソッドで対応する。UIApplicationDelegateの場合には,以下のような感じだ。 ・application::didFinishLaunchingWithOptions 以前よりお馴染み。アプリケーションがまさに起動した時に呼ばれる。・applicationDi
iPhone開発で、メモリ管理の基礎を社員に伝えることが増えてきたので、エントリとして書こう。 Objective-C基礎 メモリ管理の前にObjCの基礎として、メソッド呼び出しの話。 クラスのインスタンスaがmethodAをコールするときは、 [a methodA] と書く。このとき、aがnilだったときは、エラーではなく、コールされない。methodAに戻り値があるときは、それは、0やnilやNOが返る。ObjCでは、 void dealloc { if(a!=nil){ [a release]; } [super dealloc]; } は、気持ち悪いので、nilチェックはやめましょう。 なお、ObjCでは、動的にメソッドを差し替えることができ、コールの度にメソッドが存在しているかも確認しています。そのため、LL言語(ライトウェイト言語、スクリプト)のように柔軟な記述が可能です。そし
Objective-Cをなんとなく使い続けていたのですが、分かってるようであまり分かっていなかったのがプロパティ。 retain/release/autorelease周りとの絡みもあってなんとなくやり過ごしていたのですが、ちょっと切羽詰ってきたので仕切りなおして勉強してみました。 NSStringを持つクラスでテスト いろいろ調べた結果、とりあえず、下記のようなクラスStringContainerを定義しておけば問題なく使えるっぽいです。(問題見つけたら教えてください!) まずは、定義ファイル。内部にNSString*のインスタンス変数を二つと、そのプロパティ宣言を行っています。 重要なポリシーは、propertyは内部でコピーする、ということ。下記のページを参考にしています。 NSString property: copy or retain? – Stack Overflow Goo
それにしても、「@publicにして自由に使えるようにする」というのは、いくらなんでも無防備すぎる感じもしますね。また、->を使ってアクセスするというのも、どうもObjective-Cらしくない感じがします。もう少しObjective-Cらしい、スマートなアプローチが欲しいところです。 そう思う人には、「プロパティ」の利用が一番でしょう。プロパティは、インスタンス変数にアクセスする手段を提供する非常にスマートな方法です。これは、いってみれば「アクセス用メソッドの自動実装機能」です。 先に、インスタンス変数にアクセスをするのに、値の取得と変更のためのメソッドを用意していましたが、プロパティはこれらのメソッドを自動生成し、ただインスタンス変数を用意するだけで、メソッド経由でこれにアクセスできるようにします。 このプロパティは、いくつか記述を用意しなければいけません。まず@interface内で
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く