このページの翻訳:
ソースの表示
管理最近の変更サイトマップ

イニシャライザの返り値

サンプルソースを見ていると、各クラスのイニシャライザは

return self;

obj = [super init]
...
return obj;

というコードで、自身を返している。うーん何でだろう?

わが師匠し~くる氏に聞いてみたところ、

[hogeHoge alloc];
[hogeHoge init]

[[hogeHoge alloc] init]

と短縮して書ける。そして「親クラスのイニシャライズが成功したか否かの判別に使う」とのこと。

ふーむ、最初の用途は簡単に理解できる。[hogeHoge alloc] が自身(self)を返すから、[[hogeHoge init] alloc] = [self init] = [hogeHoge init] ということが言える。

でも、親クラスのイニシャライズの判別は、ちょっとわからない。なぜ、self にスーパークラスの返り値を入れることで、判別できるのだろう……?そもそも、親クラスのイニシャライズの成否を調べる場面が、今は思い浮かばない。

まぁ、ボチボチ調べていくことしますか。

(2013-04-10 追記)
今読み返してみると、内容が完全に「日本語でおk」な件。当時の俺は何を考えていたんだろう…。

GNU版Objective-Cのコンパイル

GNUのObjective-Cランタイムを使ったソースをコンパイルするには、gccに「-lobjc」オプションが必要。

最初、これがわからずに「『Object』なんてクラスしらねーよ」って、リンカに怒られてた('A`)。

セーラームーン

こんにちは、Decomo@帰省中です。

妹者が懐かしきセーラーム−ンRのビデオを発掘したので、ちょっと見てみたりします。しかも最終回w。あー、懐かしいなぁ。

今になってみると、こっちが恥ずかしくなる程ベタベタなノリですが、昔はよく見てたもんです。登場人物の中では、ジュピターが好きだったことを覚えているので、当時からツンデレ属性全開だったようですwwww。

つか、まぁ、ブラックレディテラモエスwwwwwww

ペパーが………

サクサカーにとっては、画面の左側からひょっこりと現れては、シュールなギャグやミノフスキー粒子でお馴染みの、ご意見番ことペパーの中の人が9日に亡くなったそうですΣΣ(゚Д゚;)。

ジゴ/ペパー降板のごたごたから、ようやく一段落したと思った矢先の、あまりにも突然のことでご本人は元より、私も悔やんでも悔やみきれません………。今週の放送分で、ペパーも見納めということでしょうか。尤も、私は今実家にいるので、sakusakuが見られなかったりするのですが…。色々な意味で、あまりにも悲しすぎます。

果たして今後、sakusakuはどうなってしまうのか!? 何はともあれ、中の人のご冥福を、謹んで申し上げます。

VIA C3とFreeBSDでNASを作る

学科内のプログラミングコンテストで優勝した記念に貰った、VIA C3なべアボーンですが、FreeBSDを入れてNASにしようと、頑張って環境構築中です。

とりあえず、FreeBSD 5.3-Releaseのインストールは終わり、現在portsからX.orgとKDEのビルドをしていますが、KDEのビルドが終わらない!!昨日の夜から走らせてますが、C3の非力さも相まって(?)、未だ終わる気配がありません。ログを見ていると、Konqueror(KDEのブラウザ)周りをビルドしているようですが………。素直にpackageから入れるべきだったか……。

以前、セレ600MHz/192MBなVAIOノートでGnomeを実行し、その上で走らせたktermの更にその上でKDEをビルドしようとしたとき、2日待たされた挙げ句、メモリ不足でktermがフリーズしていたという、最悪な事態に遭遇したのですが、今回もこのような事態に陥る事だけは勘弁してもらいたいものです(実メモリ256MB+SWAP 1GBがあるので、多分大丈夫だと思いますが)。

HDDがトンでもなく熱くなってるし、例えビルドが終了したとしても、果たしてNASとして安心して使えるのだろうか…。高負荷試験をやってると思えばいいのかな?(ぉ


(2005/7/26 9:00)

ぎゃーーーーーーー、コンパイルエラーーーーーー;;


(2005/7/26 12:30)

5.3Rを消して、FreeBSD 5.4-RELEASEを入れ直した。カッとなってやった。今も環境再構築中。


(2005/7/28 2:43)

結局、FreeBSD Expert 2005付属の5.3Rに戻した('A`)。

一通り環境構築したところで、X+KDEを起動しようとしたら、core dump!! X+Gnomeだとご丁寧に「Yggdrasil(※マシン名)のIPアドレスがわかんね」と警告してくれたので、原因はこれか。確かに、/etc/hosts からYggdrasilとIPアドレスの対応は消した。だって、なぜかこの対応があると、起動時にsendmailが「Yggdrasilなんてマシン知らねーよ」と怒るんだもん(対応を消すと、なぜかエラーにならない)。どうしたものか………ボスケテ。

とりあえず、hostsを元に戻してKDE起動。がしかし、どうあがいてもVGAにしかならない……。ビデオチップはTrident Blade 3Dというやつで、xorgcfg の中にも確かにこのチップはある。だが、何度選択してもVGAにしかならない。結果的には、xorgconfigの方で設定したら、きちんとSXGAも出た。何だかなぁ。

で、次はxmmsを動かそうとしても「サウンドデバイスが見つからない」と怒られ、再生できない。調べたところ、KDEはaRtsというサウンドサーバを使っていて、そいつが/dev/dspを占有してしまうので、普通にxmmsを起動したんでは/dev/dspを開けずに、前途したエラーを吐く模様。しかし、うちの環境ではaRts出力プラグインが含まれていなかった(昔、同じCDを使ってVAIOノートにインストールした時は、何の問題もなくKDEでxmmsが使えてたんだけど…)。

というわけで、公式サイトからaRtsへ出力するプラグインを拾ってきて、configure と make install 。xmmsの出力プラグインをaRtsにしたら、無事、KDEが出す音とxmmsが出す音が同時に出た。


(2005/7/28 11:32)

蓋を閉めると、CPUがヤバいくらいに熱を持つ事が発覚。

俺「C3、なんか様子が変だぞ?」

C3「そ、そんなことないですよぅ……」

俺「どれ……(ヒートシンクにピトっとな)」

C3「あっ…」

俺「ちょwwwwおまwwwwwすげー熱いじゃんかよwwwwwどうして黙ってたんだよ」

C3「だって、あたし、Pen●iumやAthl●nに負けたくなかったんだもん……」

俺「そうか………でもな、よく聞いてくれC3、お前の体はもうお前だけのものじゃないんだ。お前には、大事な、大事なデータが宿っているんだ」

C3「…………Decomo……」

妄想キタコレ。長く触っていられなかったことから、50℃くらいは行っているんではないだろうか。運用時はFSBを落として低クロック化するからある程度の温度低下は見込めるだろうが、それだけじゃ心配だなぁ…。

start.txt · 最終更新: 2019-08-19 02:45 by Decomo
CC Attribution-Noncommercial-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0