Objective-C ..
[2ch|▼Menu]
13:デフォルトの名無しさん
05/01/29 17:19:17
>>8の return [super free];が狙ってるようにしか見えない

14:デフォルトの名無しさん
05/01/29 17:20:36
このスレmac系の板に移動したんじゃなかったっけ?

15:デフォルトの名無しさん
05/01/29 17:27:38
移動したは良いが、ただでさえMacプログラマの人口が少ないのに、
さらにいないMac板に移ってカキコが無くなり、消えた。

16:デフォルトの名無しさん
05/01/29 17:43:11
VisuaRubyもそれなりにいいよ

17:デフォルトの名無しさん
05/01/29 17:47:06
Objective-C っていえば Mac っつーより NeXT とか OSX だろ?

18:デフォルトの名無しさん
05/01/29 17:48:42
OSXはMacな訳だが

19:デフォルトの名無しさん
05/01/29 17:51:58
>>13
自作自演乙

20:デフォルトの名無しさん
05/01/29 19:05:27
今度はいつまで持つかな?
今のところ技術的な話題は無し。

21:デフォルトの名無しさん
05/01/30 01:30:04
Mac mini 発売記念age.

マカは偉そうにPCの使い心地に対して文句を言うくせに、
使い心地が良くなるように工夫はしない「クリエイタ」が多いですね。

22:デフォルトの名無しさん
05/01/30 01:31:26
>>9
こんなキモイ言語いらね

C♯の構文で
x86/PowerPCのネイティブがはければ最強なのに

23:デフォルトの名無しさん
05/01/30 01:35:58
C#の構文なんて糞じゃん

24:デフォルトの名無しさん
05/01/30 01:36:12
言語仕様どっかに落ちてない?

25:デフォルトの名無しさん
05/01/30 01:39:16
URLリンク(www.toodarkpark.org)

26:デフォルトの名無しさん
05/01/30 01:39:26
>>24
URLリンク(www.gnustep.org)

27:デフォルトの名無しさん
05/01/30 17:54:53
smalltalkが持つ理想郷と、Cの泥くさい、現実的な部分
を併せ持つ言語だと思う。
 GUI部分はオブジェクト拡張部分でさくっと実装、
(画像、音声処理の)エンジン部分はCでねちねち実
装という場合に、もっとも真価を発揮すると思う。

28:デフォルトの名無しさん
05/01/30 17:56:58
オブジェクト指向なんてパラダイムのひとつに過ぎないというのに、おおげさに
騒ぎ立てる人を見掛けると、いつも不思議に思っている。

29:デフォルトの名無しさん
05/01/30 21:11:26
つか言語なんぞどうでもいい

30:デフォルトの名無しさん
05/01/30 21:13:42
>>28
そういう連中はCライクな言語しか触った事がないんだよ。

31:デフォルトの名無しさん
05/01/30 23:40:32
まずc++を勉強してからじゃないと難しいのでしょうか?cは知っているんですが。

32:デフォルトの名無しさん
05/01/31 00:04:16
>>31
微妙・・・C++慣れるとObjective-C行くのも抵抗はあるぞ?
興味あるなら直接行けば(゚з゚)イインデネーノ?
正直、考え方とかを除くと言語自体はそれ程覚える所はない・・・



33:デフォルトの名無しさん
05/01/31 00:19:22
C++は関係ないので勉強する必要はまったくありません。

34:デフォルトの名無しさん
05/01/31 00:46:20
>>28 はオブジェクト指向の概念を理解出来ずに挫折した香具師と思われ

35:デフォルトの名無しさん
05/01/31 00:50:50
>>34
なんでそう思うんだろう…

36:デフォルトの名無しさん
05/01/31 01:19:47
>>3233
どうもです。アーロンの本はC++を知ってるのを前提にって事になっているので、C++知らないので読むのやめちゃったんですね。

37:デフォルトの名無しさん
05/01/31 01:28:25
>>34
オブジェクト指向が特別重要でないと考える、ならば、オブジェクト指向の概念を理解できずに挫折した
これは成り立つかどうかは怪しいね。

オブジェクト指向の概念を理解できずに挫折した、ならば、オブジェクト指向が特別重要でないと考える
これは成り立つかどうかは難しいね。

38:デフォルトの名無しさん
05/01/31 02:20:33
これほど使っている人が少ない言語も珍しい。

39:デフォルトの名無しさん
05/01/31 02:33:05
> これほど使っている人が少ない言語も珍しい。
いや珍しくはないと思う。

40:デフォルトの名無しさん
05/01/31 02:35:13
>>38
brainf*ck

41:デフォルトの名無しさん
05/01/31 06:17:34
>>40
Objective-Cってそのカテゴリなのか。
確かに文法はちょっと変態的かもしれないけど。


42:デフォルトの名無しさん
05/01/31 06:59:08
オープンソースアプリでの使用実績。
Objective C (626 projects)
他の代表的な言語と比べても桁一つ以上少ないな。

C (14193 projects)
C# (2135 projects)
C++ (14640 projects)
Delphi/Kylix (1683 projects)
Java (13888 projects)
Perl (5637 projects)
Visual Basic (2027 projects)

URLリンク(sourceforge.net)


43:デフォルトの名無しさん
05/01/31 06:59:22
Whitespace

44:デフォルトの名無しさん
05/01/31 10:02:06
>>42
C#がそこまで使われていたなんて知らなかった。
逆にVBがそんなに使われていないとも知らなかった。

45:デフォルトの名無しさん
05/01/31 10:42:42
Objective-Cが626件というのも驚異的な数字だと思うんだけど。

46:デフォルトの名無しさん
05/01/31 11:02:07
>>45
*オープンソースでは*わりと使われているみたいですね

47:デフォルトの名無しさん
05/01/31 14:04:03
>>44
VBってオープンソース向けではないでそ

48:デフォルトの名無しさん
05/01/31 19:05:32
VBはオープンソース向けでないにもかかわらず、
オープンソースでそれだけ使われているってことね。

Objective-Cがオープンソース向けかどうか知らないけど、
オープンソース向けとしてなら少ないし、
オープンソース向けでないとしても、
同じくオープンソース向けでないVBよりも少ない。

49:デフォルトの名無しさん
05/01/31 21:26:54
Objective-Cそのものはオープンソースだけどね。

50:デフォルトの名無しさん
05/01/31 21:38:25
>>49
そんなこと言ったらCだってオープンソースだし、Javaだってオープンソースだ。

51:デフォルトの名無しさん
05/01/31 22:54:20
というか、もうMac専用言語だと割り切った方が良い。

>>36
OOPやってた香具師ならアポのPDFと、その辺にあるネットの
説明ぐらいで充分。元々大した量じゃない
後はサンプルなんか感触つかめばエエ話

52:デフォルトの名無しさん
05/02/01 01:08:27
Mac専用言語だと思ったら、ますます >>45 が驚異的に思えるな。
CができてOOPが理解できてれば、すんなり入れて楽に使えるから、たしかに導入時のハードルは低いな。

53:デフォルトの名無しさん
05/02/01 04:46:39
この本を読めばC++よりObjective-Cの方がオブジェクト指向を
忠実に実現しているのが分かると思う。
第1版は絶版らしいので第2版を紹介
URLリンク(www.amazon.co.jp)
今風にMacOSX向けの記述が追加されてるそうな。


54:デフォルトの名無しさん
05/02/01 11:45:58
この言語良く知らないんだけど、GCって付いてるの?

55:デフォルトの名無しさん
05/02/01 13:21:41
>>54
基本的にはできない。
Objective-C(っというかNSxxのCocoa[OpenStep]フレームワーク)は
WinのCOMやboostのスマートポインタみたいに参照カウンタ方式。
NSでautorelease poolとかを使えばある程度の管理はしてくれ
るけど、Javaのようなもんじゃない

Objective-CのライブラリでGCもどきを誰かが作ってたきもする
が失念

>>53
史実っていうかSmalltalkに似せようとしたのがObjective-C
でそ?C++とコンセプトが違うから仕方ない
# あーテンプレート使いテー

56:デフォルトの名無しさん
05/02/01 16:05:53
>>52
うーん。言語仕様(マニアックに突っ込まなきゃ)だけなら
Objective-C、C++、Java、C#、その他も覚える量は大して
変らんと思うよ。

実際ある程度の物を作るんだったら、フレームワーク覚えるのが
一番時間かかる(OOP関連除けば)んだから。。


57:デフォルトの名無しさん
05/02/01 17:06:34
Cからの移行なら完全上位互換の Objective-C が楽なのは明確だろ。

58:デフォルトの名無しさん
05/02/01 17:09:00
ObjectiveCでλ式は書けますか?

59:デフォルトの名無しさん
05/02/01 17:43:13
>>57
そうか?
C++の方が先だったので実際にC→Objective-Cをやった訳
ではないけど、覚え易さに強調(売りに)するほどの差は無い
とは思うがね。まぁどっちでも良いわさ。
C→Objective-Cも、C→C++も別に大変ってわけでも無いし

60:デフォルトの名無しさん
05/02/01 19:46:19
C++は無駄な拡張しすぎだと思う

61:デフォルトの名無しさん
05/02/01 19:56:24
>>60
アーー、どんな拡張っスか。
僕様チャン頭ワりーんで、わかんねーッ
アヒャww

62:デフォルトの名無しさん
05/02/01 20:01:28
スタックにインスタンスとれるとこなんか、
なーんかやな感じなんだよなあC++

63:デフォルトの名無しさん
05/02/01 20:14:59
>>62
俺はそこが好きなんだよね……

64:デフォルトの名無しさん
05/02/01 20:18:13
Objective-Cは長いのでOCと書いても良いですか

65:デフォルトの名無しさん
05/02/01 20:30:01
ふつー ObjC

66:デフォルトの名無しさん
05/02/02 04:11:21
他スレみたいにObjective-Cがらみのプログラミングで
どうするのかとか聞くスレかと思いきや。

Objective-Cとは何か? って
もはや新しく言語が出来てどういう言語なのか話しているのと同じレベルだな。
昔からある言語なのに使われていないと言うことが良くわかった。

67:デフォルトの名無しさん
05/02/02 04:27:38
今でもライブラリ・フレームワークを整備したら流行るかねえ。
そういえばObjective-C++なんてあったようななかったような。


68:デフォルトの名無しさん
05/02/02 04:46:35
次(あるのか?)のスレタイ
【雑談】Objective-C【禁止】


69:デフォルトの名無しさん
05/02/02 07:53:01
Objective-C++ってなに?

70:デフォルトの名無しさん
05/02/02 14:08:06
Cocoaはさっぱり!!! version.4
スレリンク(mac板)


71:デフォルトの名無しさん
05/02/02 14:53:09
Cocoaはやっぱり!!!
URLリンク(202.228.189.75)

72:デフォルトの名無しさん
05/02/02 14:53:59
>>71
怪しいから踏みたくないなぁ…

73:デフォルトの名無しさん
05/02/02 15:32:44
>>69
URLリンク(homepage.mac.com)

74:デフォルトの名無しさん
05/02/02 17:15:00
>>72
>>71 は森永製菓だから大丈夫

75:デフォルトの名無しさん
05/02/02 17:35:55
日本語訳あるのね。

Objective-C プログラミング言語
URLリンク(developer.apple.com)

76:デフォルトの名無しさん
05/02/02 19:01:15
>>73
Objective-C と C++ の Rhapsody っていうより
ただしっちゃかめっちゃかに見える

77:デフォルトの名無しさん
05/02/02 20:54:37
ちょっとうろおぼえ何だけどさ、Nextの実装だと
{obj message]
でobj がnil でも落ちなかったよね?

78:デフォルトの名無しさん
05/02/02 22:35:56
たしかnilは何でも受けるんじゃなかったっけ?


79:デフォルトの名無しさん
05/02/03 00:43:38
誰も答えを知らない言語・・・。

80:デフォルトの名無しさん
05/02/03 00:45:03
俺もこのスレ見てるけど使った事ないし。

81:デフォルトの名無しさん
05/02/03 02:12:37
>>77-80
みんなGCCくらい持ってるでしょ?
なら,
#import <objc/Object.h>
int main(int argc, char* argv[])
{
id obj = nil;
[obj new];
return 0;
}

gcc Test.m -Wno-import -lobjc
とコンパイルしてみればいいじゃない。
やってみれば分かるが,警告なしでコンパイルは通り,実行時も何もエラーは出ない。
nilはメッセージを何でも受け付ける。

82:デフォルトの名無しさん
05/02/03 02:19:44
>>81
できた。
ちょっと構文規則でも読んでくる。

83:デフォルトの名無しさん
05/02/03 11:01:50
読んだ。なんとなく解かった。C++の方が使いやすいのは慣れていないからだろうか。
ともかくとして、疲れたから寝る。おやすみ。

84:デフォルトの名無しさん
05/02/03 15:52:31
10.4でpersistent objectが実装されるらしい。XML/RDBベース。

85:デフォルトの名無しさん
05/02/03 15:53:49
>>83
ObjCは未知のサブクラスのインスタンスを呼び出せる。

86:デフォルトの名無しさん
05/02/03 16:20:02
>>84
今でも nib っていうのがあるけど

87:デフォルトの名無しさん
05/02/03 17:02:12
10.4のQTKitに期待!
No More カーボン!

88:デフォルトの名無しさん
05/02/03 20:57:05
nilが全てのメッセージを受け取る言語だと
nilで死ぬことないから、逆にチェックを厳密にやらないと
分かりづらいバグが出るだろうね。
しかし当たり前の話だけどnilはOKなのに
releaseしたゴミポインタにメッセージを
送ると普通にSEGVで死ぬのがムカつく(w

[obj release]
obj=nil;

これで安全。

89:デフォルトの名無しさん
05/02/03 21:00:20
releaseだったら当該コードで死亡するところが、
autorelease pool つかうとどこが悪くて落ちるかわかんなくて
結構デバッグ大変じゃない?


90:デフォルトの名無しさん
05/02/03 21:13:26
>>88
なんか前半と後半で矛盾したことを言ってるぞ。

>releaseしたゴミポインタにメッセージを
>送ると普通にSEGVで死ぬのがムカつく(w

ここで死んでもらわんとわかりづらいバグになるだろうがw


91:デフォルトの名無しさん
05/02/04 01:10:22
>90
え、QTKitってCocoaでバリバリQuickTimeいじれるようになるんじゃないの、、、
NSMovieViewって基本的なことしか今はできないですよね?
いろいろやろうとすると結局Carbonっていうのがなぁ、、、
QTKitでCarbonと同じようにCocoaからQTがいじれるのかなーと思ってます。

92:デフォルトの名無しさん
05/02/05 16:25:45
>>86
nibってInterface Builderの、だよね。
変更したインスタンスは保存できんよ。

93:デフォルトの名無しさん
05/02/06 17:04:21
ObjCの実装で実績あるのってappleのとgccぐらい?

94:デフォルトの名無しさん
05/02/06 18:16:20
>>93
Appleの=gcc な訳だがw

95:デフォルトの名無しさん
05/02/06 20:47:27
NSなんちゃら

96:デフォルトの名無しさん
05/02/07 03:19:48
Stepstone の Objective-C 使ってますた

97:デフォルトの名無しさん
05/02/07 11:29:15
OSXで初プログラミング中なんだけど、Interface BuilderとObjective-C++での
開発はめちゃくちゃ楽やね。もちろん最初は情報がなかなか捜せなくて、数行
で書けることをWebで見つけ出すのに数時間なんてことやってたけど。Winに
もGNUStep入れてみようかと思ってる。

98:デフォルトの名無しさん
05/02/11 19:12:15
age

99:デフォルトの名無しさん
05/02/12 21:14:32
メモリ管理のできるパフォーマンスのよいjavaみたいなもんだと
思うのだが、なぜか人気がない。why?

100:デフォルトの名無しさん
05/02/12 21:24:13
宣伝してないからかな。
ところでWindowsで使えるんか?
Cocoaが無いと意味ないか。

101:デフォルトの名無しさん
05/02/12 21:56:30
URLリンク(www.mosa.gr.jp)

102:デフォルトの名無しさん
05/02/12 22:53:14
Objective-Cで満足にプログラミングできる環境が整ってるのはやっぱOS Xくらいだろうなぁ。
そのほかの環境でやるとしたらGNUStep + ObjCかGTK+ + ObjCってところ?

103:デフォルトの名無しさん
05/02/15 09:42:28
>>99
字面


104:デフォルトの名無しさん
05/02/15 15:19:34
ちょっと書きにくいんだよ、はじめの”[”が。

C/C++,Java,VBみたいにhoge.funcとかhoge->funcと左から右へ
単純に移動するだけですめばいいんだけど

105:デフォルトの名無しさん
05/02/15 19:39:45
[obj message];

は主語と述語っぽくて読みやすいよ。
英文として読み下せるよ。ってどっかの外人が言ってた。

106:デフォルトの名無しさん
05/02/15 23:49:44
cocoaの仕事したいなあ、どこで募集しているのだろう?

107:デフォルトの名無しさん
05/02/18 21:28:07
その昔の実装だと 例外発生時にcatchまで飛ぶのはいいけど
try - catch 中に生成したオブジェクトをdeleteしようがなくて
メモリリークの危険バリバリだったよーな気がする。
これって今どーなってる?


108:デフォルトの名無しさん
05/02/18 22:37:39
@finally でやればいいのでは?

109:デフォルトの名無しさん
05/02/22 18:55:50
>>102
GTK+ の Objective-C バインディングというと,
* GTKKit
* GToolkit
* gnome-objc
あたりがあるんだけどどれもメンテナンスされてないんだよねぇ…?
昔 gnome-objc で遊んでたけど結構 buggy でいくつか patch 書いて送ったけど
完全無反応だったし…

# まぁ C の API 直接叩けばいいんだけどさ…

110:デフォルトの名無しさん
05/02/25 13:01:36
URLリンク(developer.apple.com)
Cocoa バインディング入門
キー値コーディング(Key Value Coding)
キー値監視について(Key Value Observing)

111:デフォルトの名無しさん
05/02/25 15:04:26
簡単な質問かもしれませんが、分からないので教えてください。

以下のプログラム、核は出来ています。このまま使用しても目的は達成できます。が、
URLリンク(tokyo.cool.ne.jp)
URLリンク(tokyo.cool.ne.jp)
この2つのソースコードをJISを経過させずに直接変換させるにはどうしたらいいでしょうか?



112:デフォルトの名無しさん
05/02/25 15:05:47
まったく見ていないが、おそらく Objective-C とは何ら関係がない。

113:デフォルトの名無しさん
05/02/26 04:56:52
なんか夜9時にいきなりツールを明日の朝までに作れって上司が言って
仕様書いたポストイットを俺の端末に貼って帰りやがった
最初は普通に VisualC++ で作ってたが途中で上司の態度がムカついてきたんで
GNUStep と MinGW と コーディング用に Meadow 落としてきて
Objective-C と GNUStep の Foundation と Win32API の不気味なコラボレーションで
仕様通りのツールを仕上げてやった

俺が辞めた後でソースみて気絶する奴が出ない事を祈る

114:デフォルトの名無しさん
05/02/26 08:04:44
>>113
GJ! と言っておこう。

115:デフォルトの名無しさん
05/02/26 17:44:09
>>113苦しむのは後釜と思われ。
その上司は次の誰かに朝までの修正を夜9時に渡して帰るだけだぞ。
内容が解らんので何とも言えんが、因みに本当に非道いケースでは
上司が定時帰宅で責任は部下に擦り付ける罠。
あとその成果物って他のPCでも動く?

116:デフォルトの名無しさん
05/02/26 17:48:46
>>115
113じゃないがobjc.dllとgnustep-base.dllいっしょに入れときゃ動くでしょ。

117:デフォルトの名無しさん
05/02/26 23:32:11
Objective-Cの参考書(日本語)って存在しないのか・・・?
世の中はC、C++、C#、Java、VBがほとんどを占めている訳か?
「Cocoaはやっぱり」以外にOSXでのプログラミングを支援する書籍が無い!
Appleは何を考えとるんだ・・・。



英語版をなんとかして読むしかありませんか。

118:デフォルトの名無しさん
05/02/26 23:41:24
> Appleは何を考えとるんだ・・・。

イマドキ「日本語の参考書がないから勉強できまちぇん」
とかヌカしてる連中は必要ないということでしょう。

119:デフォルトの名無しさん
05/02/26 23:50:07
>>117
ヒレガス本,萩原本,HMDTは?
萩原本は出版社がなくなったみたいだから手に入りにくいかも知れんけど。

Objective-Cの言語についてだったら日本語翻訳がある。
URLリンク(developer.apple.com)

120:デフォルトの名無しさん
05/02/26 23:50:23

>「Cocoaはやっぱり」以外にOSXでのプログラミングを支援する書籍が無い!

これはあんまりだろ。

121:デフォルトの名無しさん
05/02/26 23:55:59
とりあえずHappy Macintosh developing timeは買っとく事にします。


>>120
書籍ベースの参考書についてはJavaやC++みたいな
習得人口の多い言語と比べるべきでは無かったですね。



122:デフォルトの名無しさん
05/02/27 00:40:30
Cocoaはやっぱり!とHMDT本と、HMDTのページのCocoa 1001があればほぼ用が済むと
思うんだけど....

APIリファレンスがちゃんとあるんだしさ。

123:デフォルトの名無しさん
05/02/27 02:12:50
Objective-Cって学習コストがかなり低い部類に入ると思うけどなあ。
俺なんて講義でObjective-Cによるフレームワークのを使うからってんで
簡単な紹介とポインタ示してこういうものがあるから覚えてこいでおしまいだったぞ。
当然そっから先の講義のほとんどやレポートに必要だった。


124:デフォルトの名無しさん
05/02/27 04:05:16
>> 123
* C言語が使える
* 少くとも一つのオブジェクト指向言語が使える
人ならば学習コストは低いでしょうけど…

昔 "10 minutes learning objective-C"(だったかな?) とかいう Web page
を読んで文法覚えました。
当時 C や Java を覚えた後だったんで覚えるのに1日はかからなかったなぁ。

#10分じゃ無理だったけど


125:デフォルトの名無しさん
05/02/27 04:55:33
> 萩原本は出版社がなくなった

うわ、ほんとだ。知らなかった。
URLリンク(www.dgcr.com)

126:デフォルトの名無しさん
05/02/27 10:10:34
 Macに乗り換えてプログラミングに興味があるので、CocoaのObjective-Cでプログラミングをしてみたいのですが、どこから入れば良いでしょうか。
 ちなみに、プログラミングの知識は0に近く、WindowsでHSPという言語でちょこっとやったことがある程度です。

127:デフォルトの名無しさん
05/02/27 11:06:54
はじめてのMac OS X Cocoaプログラミング―v10.2対応
URLリンク(www.amazon.co.jp)
辺りかなぁ。

128:デフォルトの名無しさん
05/02/27 11:43:37
>>127
中村本は取っ付きやすいとはおもうけどCの知識が0だときついよ。
Cの入門書とセットで読むといいかも。

129:デフォルトの名無しさん
05/02/27 12:39:07
>>117-122
だべってないでお前らが本書けばいいだけじゃん
一人一殺だ


130:r
05/03/02 23:57:23
ここって、Objective-CっつーよりCocoaスレなんだな。

あのさ、NSImageViewのサブクラスを作って、
-(void)mouseUp:(NSEvent*)event;
をオーバーライドして、
画像上のマウスクリックのイベントを拾おうとしたんだが、
なんか、mouseUpメソッドが呼ばれないみたいだったんだ。

で、試しに
-(void)mouseDown:(NSEvent*)event;
も、ついでにオーバライドしてみたら、
mouseUpもmouseDownも呼ばれるようになった。

mouseUpとmouseDownって、ペアでオーバライドしなきゃいけないの?
これってマカーには常識?

131:デフォルトの名無しさん
05/03/03 02:27:37
そんなことはない
副作用で直ったと思われ


132:デフォルトの名無しさん
05/03/03 18:39:51
言語の敷居は低いが、Cocoaがキツイ。
良く在るC++のクラスライブラリと違ってOSの一部なので、ソースが無い。
かといって、JDKのように挙動が自明でもない。
試行錯誤させられる亊が多過ぎる。

133:デフォルトの名無しさん
05/03/03 18:41:38
演算子のオーバーロードがないから文字列クラスの扱いがきついね
std::stringですら遥かにまし

134:デフォルトの名無しさん
05/03/03 19:21:21
早くXCodeがDをサポートしますように

135:デフォルトの名無しさん
05/03/03 22:25:19
ソースはある

136:デフォルトの名無しさん
05/03/03 23:15:51
>>135
あるの?

137:デフォルトの名無しさん
05/03/04 01:12:28
mac mini届いた、Objective-Cを触ってみたが、C++に要した労力に比べると、格段に易い。
文法もすっきりしている、好きになりそうだ。

138:デフォルトの名無しさん
05/03/04 01:39:01
>>137
すごいな。
漏れはずっとC++使って来て、PublicBetaを試したとき、
Objective-C自体の書式はすぐに分かったのだけど、
IBとPBの連携の意味を理解するのに半年掛かってしまった。
資料見ても意味分からないから試行錯誤&挫折の繰り返しでなかなか意図を見抜けなかった。
で、ようやくポトペタでGUIアプリが作れるようになったんだけど、
結局Cocoaのクラス構成とかの流儀に馴染む前に嫌になってしまったよ……。

139:デフォルトの名無しさん
05/03/04 08:50:58
autoreleaseなんてのがあるので
オブジェクト解放のタイミングが分かりづらくなってる気がする。

なかなか気付きにくいよ「イベントループの末尾で削除」なんて。

140:デフォルトの名無しさん
05/03/04 10:19:26
そこでGNUstepのGCですよ。

マジほしいな、これは。

141:デフォルトの名無しさん
05/03/06 13:05:38
情報提供してあげてください。

URLリンク(www.rubyist.net)

>どうやらObjective-Cの「カテゴリ」と呼ばれる機能が、以前から悩んでいたselector namespaceに近いもののようだ。基本的な概念は理解できるものの、実際の挙動(と実装)がイメージできず苦しんでいたので、参考にできるものがあるのはありがたい。
>しかし、ちょっとGoogleしてみた範囲内では、その仕様はよくわからなかった。具体的な挙動や実装について参考になる資料はないものだろうか。
>あれ? まてよ。
>今、改めてGoogleしたページを読み返すと、別に有効範囲が静的スコープであるとは書いてないな。そうするともしかしてカテゴリってのは、ただ単に「インスタンス変数が追加できないMix-in」なのか。それだったらすっごい残念なのだが。
>selector namespaceのある言語といえば、他にSmallscript (S#)やJavaScript (EcmaScript 4.0)などもあるが、いずれも現時点で私には理解できていない。
>情報提供歓迎。

142:デフォルトの名無しさん
05/03/07 12:12:31
>インスタンス変数が追加できないMix-in
でほぼ正解じゃなかったかな…?
メソッドも追加ができるだけでオーバーライドすらできないからそれ以下かな?

143:142
05/03/07 13:13:57
すまん…
オーバーライドはできたかも…

144:デフォルトの名無しさん
05/03/08 22:09:19
idとNSObject*と、他Objective-Cのインスタンスへのポインタって、
全く等価なもんなんでしょうか。

例えばObjective-Cのクラス Fugaが定義されているとして、
次の2行は等価? 非等価?
id p = [[Fuga alloc] init];
Fuga* p = [[Fuga alloc] init];

145:デフォルトの名無しさん
05/03/08 22:17:13
コンパイル時に型チェックが働くか否かの差

146:デフォルトの名無しさん
05/03/08 22:25:34
>>142
Mix-inって、クラスを特定することなく定義できる必要があると思うんだけど。
Objective-Cのカテゴリって定義時にクラスを指定するから、他のクラスで使うことができない。
これをMix-inというのだろうか。そもそもMix-inとは?

147:142
05/03/09 13:43:29
>>146
わたしの中での Mix-in に対する認識は

* 基本となる型(Flavor)が存在する
* その型に対して追加機能を提供する型が Mix-in
* 機能追加すること自体も Mix-in と呼ぶ(?)
* 機能追加は,実装でも仕様でもOK
* プロトタイプ言語には Mix-in は存在しない(必要ない)
* C++ の多重継承でも Mix-in (の概念)は存在する(らしい)

という感じです。
なので特定の型(Flavor)に機能追加するだけでも Mix-in だと思ってますが…

世間一般での Mix-in の定義はどうなんでしょうね?

148:デフォルトの名無しさん
05/03/09 18:46:33
>>145
ダイナミックバインドってid経由でしか働かないんだっけ

149:デフォルトの名無しさん
05/03/09 20:53:44
仕様の追加は mix-in とは言わないんじゃ、、、

> * C++ の多重継承でも Mix-in (の概念)は存在する(らしい)

というか、多重継承だからこそ mix-in が可能なんじゃないか?

Ruby は多重継承ができないけど、 mix-in があるので
多重継承と似たことができますよ、ってことにしてるんでしょ?

150:デフォルトの名無しさん
05/03/09 21:04:48

C++ では Mix-in を表現するに多重継承を使う方法がある


151:デフォルトの名無しさん
05/03/09 21:14:19
あぁ、まぁ、そうか。

152:デフォルトの名無しさん
05/03/09 21:29:40
>>148
URLリンク(developer.apple.com)

153:デフォルトの名無しさん
05/03/09 23:04:51
ここの住人は基本的にCocoaプログラマ?

154:デフォルトの名無しさん
05/03/10 16:28:59
そうみたい
でもCocoaに限らない話題希望

155:デフォルトの名無しさん
05/03/10 16:46:04
>>154
Cocoa以外でobj-c使う場面ってどんな場面よ

156:デフォルトの名無しさん
05/03/10 16:48:13
GNUstepとか。

157:デフォルトの名無しさん
05/03/10 16:51:19
メッセージの一つ目の引数にラベルつけらんなくてみんな困ってます

158:デフォルトの名無しさん
05/03/10 17:14:38
バカだなー、一つ目をダミーの引数にすればんだよ。

159:142
05/03/10 17:25:10
>>149
Mix-in の概念は実装の追加のみに限定されるものでもないと思うんだが…
Java の interface や Objc の protocol も Mix-in な型として使われ
る場合があるし,それも Mix-in と呼べると思うけど…

Mix-in について解説したドキュメントでいいのないかな?
Mix-in評論家(?)の日記くらいか?

URLリンク(www.rubyist.net)


160:デフォルトの名無しさん
05/03/10 22:45:41
Cocoaをはじめようと思います。Objective-Cを学ぶにはC言語を覚えてからオブジェクト指向を理解したうえで、というのが近道だと聞きましたが、ベースとなるC言語の知識はどれくらい必要でしょうか。

161:デフォルトの名無しさん
05/03/11 00:02:58
そりゃ、基本的事項は全てだろ。
テキストがあれば、それの最初から最後まで。
心配しなくてもそんなに分量はない。
けと、その都度実践していかないと(つまり、ソースを作っては試す)
身にはつかない。

162:デフォルトの名無しさん
05/03/11 01:11:55
同意。
でも、多くの人がポインタで挫折すんだよねー。
まぁ、今は良い参考書もいっぱいあるから、昔に比べりゃ全然楽だ。

163:デフォルトの名無しさん
05/03/11 01:40:32
「すればんだよ」とか「けと、」とか日本語じゃない言葉が飛び交ってて
話てるのか何か良く分からないんです。


164:デフォルトの名無しさん
05/03/11 01:42:50
>>162
>でも、多くの人がポインタで挫折すんだよねー。
それは数あるポインタの解説書がことごとく間違っていたり
嘘言っていたりして学習者の混乱を増長させているから。


165:デフォルトの名無しさん
05/03/11 02:05:42
ポインタと配列の間に関係性を持たせてしまったCの仕様にも責任がある希ガス。

166:デフォルトの名無しさん
05/03/11 02:23:51
どうして? ごく自然な仕様だろ。


167:デフォルトの名無しさん
05/03/11 03:15:52
int *p;
において、
「*(p+i)はp[i]って書き方もできます」って仕様は余計だと思う。
これのせいで、ポインタと配列は全く別ものなのに、
なんだか同じもののように初心者を混乱させている希ガス。

168:デフォルトの名無しさん
05/03/11 05:20:10
同じものですよw

169:デフォルトの名無しさん
05/03/11 08:06:55
Xcode2.0はどの程度現状と変わるのか。

Tigerを買うかどうかは、そこの評価次第なんだけど。

170:デフォルトの名無しさん
05/03/11 11:37:37
>>169
一番の売りはUML風味のクラス図自動生成とかでない?
その辺実際どの位使えるのかは確かに気になる所。
Rationalのアレ並みにとは言わんけどさ(w。それなりにパパッと書いたのがぐりぐり動いてるよーだといいな

171:デフォルトの名無しさん
05/03/11 12:40:57
快適な開発環境がOSに標準でついてくるなら
もう少し、Cocoaプログラマが増えてもいいと思うんだが。

Macを再評価する動きというのは無いものか。

172:デフォルトの名無しさん
05/03/11 13:18:32
ついにObjCのみのAPIの登場だ。

Developing with Core Image
URLリンク(developer.apple.com)

173:デフォルトの名無しさん
05/03/11 13:20:47
>>170
EOFっていうベースがあるから、
そこそこ行けそうな気がする。
なんで別けたんだろうね。

174:デフォルトの名無しさん
05/03/12 00:27:53
Core Imageって,Cocoa系のAPIだったとは。てっきり
Carbonだと思っていた。


175:デフォルトの名無しさん
05/03/12 01:33:37
Carbonからも呼べるんで、困りはしないんだけど、
Core Image使うところは、.mにせにゃならん。

176:デフォルトの名無しさん
05/03/12 15:12:42
>>162
ポインタは難しい的な先入観もたせるのも
どうなんだろうなって感じだよね。
何の先入観も無しにやってみて難しくて挫折するのは
しょうがないとして、余計な先入観のせいで混乱しちゃうと
ちょっとね。

177:デフォルトの名無しさん
05/03/12 17:22:57
たぶん、ポインタの理解が「指し示すもの」「アドレス」の2つで混乱してるんだろうな
わかる人は両方をちゃんと使い分けてるけど、説明される時はこのうち1つ側の説明しかされないし

178:デフォルトの名無しさん
05/03/12 23:38:06
コンピュータってものを理解してれば全く混乱なんかしないよなあ。
もしかしてメモリやアドレスの概念を出さずに説明されるのだろうか?
またはCPUやメモリの概念程度の基礎知識すらない奴がC言語を学んでいるのか?


179:デフォルトの名無しさん
05/03/12 23:56:55
メモリとレジスタを絡めて教わったよ。
少なくともオレらは。

180:デフォルトの名無しさん
05/03/13 03:34:30
やっぱり最初はアセンブラから?(w
って、今頃そんなのをやれっても無理あるよなぁ。

181:デフォルトの名無しさん
05/03/13 08:58:19
君が知りたくなければ一生知らないままでいいよ。


182:デフォルトの名無しさん
05/03/13 12:13:04
そこでBrainfuckですよ

183:180
05/03/15 01:26:13
>>181
いや、漏れではなく今頃の人に教えるのにアセンブラって言うのも厳しいもんがあるよなぁと。
漏れなんかはTK-80をガキの頃に親から奪って遊びだした世代なんで最初はハンドアセンブル
しかなかったんだよな。
今だとそういういい教材はあるけれどなかなかにニッチだしなという事で。

184:デフォルトの名無しさん
05/03/15 06:31:47
>>180 にとってアセンブラは厳しかった訳か

185:デフォルトの名無しさん
05/03/15 07:40:38
180の言ってる事はよくわかるけど?

186:デフォルトの名無しさん
05/03/15 08:54:28
最終的にShark使ってG5最適化とか、
今でもアセンブラの知識は役に立つが、
全くもってスレ違い。

187:デフォルトの名無しさん
05/03/15 23:12:17
まあまあ、そんなことより
>>158のテクニックの実装方法について、
まじめに考えてみようぜ

188:デフォルトの名無しさん
05/03/16 00:16:11
「スレ番だよ」というのがよくわんない。

189:デフォルトの名無しさん
05/03/27 01:31:22
MacOSXのターミナルで、Cocoaのフレームって使用できますか。
Object をNSObjectにしたいけど、リンクでエラーがでます。
Cocoaのライブラリを探してリンクすればいい、という発想はおかしいですか?

190:デフォルトの名無しさん
05/03/27 02:04:35
-framework Foundation
つけとけ

191:デフォルトの名無しさん
05/03/27 11:41:02
>>190 おお、ありがとうございます!

192:デフォルトの名無しさん
皇紀2665/04/01(金) 16:42:30
Cocoaはやっぱり!

193:デフォルトの名無しさん
05/04/03 16:03:44
CoreDetaに期待。Cocoa+Objective-Cはどんどん進化して欲しいね。
URLリンク(homepage.mac.com)
URLリンク(www.hmdt-web.net)

Mac OS X v10.4 Tiger
URLリンク(developer.apple.com)

Xcode 2.0
URLリンク(www.apple.com)

QTKit
URLリンク(blog.so-net.ne.jp)
URLリンク(homepage.mac.com)
URLリンク(slashdot.jp)

Dashboard
URLリンク(numata.aquasky.jp)

194:デフォルトの名無しさん
05/04/17 12:08:04
Mac欲しいなぁ・・・。やっぱWWDCが終わるまでは待ったほうが賢いんだろか。
スレ違いすまん。

195:デフォルトの名無しさん
05/04/17 16:11:01
PowerMacG5の最上位機種+メモリ8Gなら、今買ってもそれほど損は無いはず。
そんな金の無い俺は夏まで待ちますが。

これだけではなんなので、今Cocoa入門本としてヒレガス本を買うなら原著の第二版がお勧め。
日本語版=第一版は開発環境として10.2を対象としてるので情報が古い。
第二版では10.3=Xcodeに対応して、、GNUstepについてもちょこっと触れていたりする。
著者のページからサンプルも落とせるので、第一版を持っている人なら、
新旧のソースを見比べるだけでも勉強になるかもしれん。
URLリンク(www.bignerdranch.com)

Xcode2.0対応の第三版も出そうな気もするが参考までに。

196:デフォルトの名無しさん
05/04/17 17:16:32
OSXは欲しいがMacは要らん

197:194
05/04/17 19:32:51
会社でPowerBookG4+XserveG5使ってるんですが、自宅にも欲しいなぁと思って。
ヒレガス本ってのは黄色い表紙でべスパだか何かが写ってる奴ですよね?
いまこれを読みながらCocoaプログラミングの勉強中です。Unixyな使い方だけでは
もったいないかなと思って。で、ますますMac欲しいなぁ、と。

>>196
OSXってMac以外で動作可能なんですか?自宅にラック導入する予定はないのでXserveはパスね。

198:デフォルトの名無しさん
05/04/17 21:06:02
>>197
OSXはMacだけ。
GNUstepなら他のプラットフォームでいろいろいける。
が、i18n関係はまだまだダメなので(w
是非そっち方面にも助力を

199:デフォルトの名無しさん
05/05/20 02:03:50
[self age];

200:age
05/05/26 17:04:19
教えてください
NSString* str = [NSString stringWithUTF8String:"test"];
で取得した str は 何時 [str release]; すべきなのでしょうか?

201:デフォルトの名無しさん
05/05/26 17:34:52
>>200
そもそも release するべきでない。

202:デフォルトの名無しさん
05/06/06 08:55:32
>>201
たしかにそうだけど、NSAutoreleasePool のインスタンスが用意されてなかったらメモリリークの悪寒。


203:age
05/06/06 10:00:13
教えてください
ワーカスレッド(POSIXスレッド)内で
NSString* str = [NSString stringWithUTF8String:"test"];
を行った場合、どのNSAutoreleasePoolが使われるのでしょうか?


204:203
05/06/06 10:59:18
続き...
NSAutoreleasePoolは、スレッド毎に独立しているのでしょうか?

205:デフォルトの名無しさん
05/06/06 15:51:59
なんか釣られてるような気もするけど…

>>203,204
NSAutoreleasePool はスレッドを生成するときに、プログラマが自分で用意するものだと思われ。
要するにスレッドごとに存在する必要あり。
URLリンク(developer.apple.com)
とか見るよろし。
もっと言うと、AppKit(NSApplicationMain) を使ってない場合は、メインスレッドにも NSAutoreleasePool は(自動では)用意されないんで、この場合も自前で用意してやる必要がある。
GNUStep で遊ぼうとして、その罠にはまった人間が約一名(おれだが)。

あと、ワーカスレッドってのが何を意味してるのかわからんが、pthread_create とかで直接 POSIX スレッドを生成して云々って話なら、やめておいた方が良さそう。つーかその場合、おそらく NSAutoreleasePool がそもそも使えない気がする。
素直に NSThread 使いましょう。

それはそれとして、203(200 も?)の名前欄の age はコテハンなのか、それとも age てるのを主張したいだけなのか、それが問題だ(そうか?)

206:200
05/06/06 16:24:46
SimpleThreadのURL、ありがとうございました。参考になりました。
やはり、POSIXスレッドは使わないほうがよさそうですね...。

207:デフォルトの名無しさん
05/06/06 16:43:03
>>205
> つーかその場合、おそらく NSAutoreleasePool がそもそも使えない気がする。

URLリンク(developer.apple.com)

Note: If you are creating secondary threads using the POSIX thread
APIs instead of NSThread, you cannot use Cocoa, including
NSAutoreleasePool, unless Cocoa is in multithreading mode. Cocoa
enters multithreading mode only after detaching its first NSThread. To
use Cocoa on secondary POSIX threads, your application must first
detach at least one NSThread, which can immediately exit. You can test
whether Cocoa is in multithreading mode with the NSThread class method
isMultiThreaded.

208:205
05/06/06 16:53:51
>>207
ごめん、英文読み違ってたか。
あらかじめ NSThread を使って一つスレッドを生成しておけば、Cocoa が multithreading mode ってのになって、その後は POSIX スレッドでも Cocoa(NSAutoreleasePool 含む)を使えるようになる。
マルチスレッドモードかどうかは、NSThread クラスの isMultiThreaded メソッドで確認できる。
…ってな理解で良い?

209:デフォルトの名無しさん
05/06/08 23:34:03
NSなんちゃらと ネイティブは混ぜるな危険。pthredとか。

210:デフォルトの名無しさん
05/06/10 00:30:51
>>209
>混ぜるな危険
確かにおれもそう思うが、Objective-C++ で書かれたコードとか読んでると、なんかどうでも良くなってくるぞw

211:age
05/06/15 23:34:33
教えてください
以下のように作成された NSString* selstr は何時解放するべき、まはた何時解放されるのでしょうか?
%pの出力は毎回変わりますが、メモリリークは起きていないようです。
- (IBAction)button1Click:(id)sender
{
SEL sel = @selector(button1Click:);
NSString* selstr = NSStringFromSelector(sel);
NSLog(selstr);
NSLog(@"%p", selstr);
}

212:デフォルトの名無しさん
05/06/16 00:56:12
それを解放するのは AutoreleasePool です。

213:デフォルトの名無しさん
05/06/16 09:33:10
>>212
何時解放されるのでしょうか?
[pool release] のときでしょうか?

214:デフォルトの名無しさん
05/06/16 19:35:27
>>213
ちみはメモリ管理のことがよくわかってない風味なので、

URLリンク(developer.apple.com)

ここのページを隅から隅まで読む事をお薦めする。
あと、厳密には NSAutorelasePool がするのは『解放』じゃなくて、
単に release メソッドを呼ぶことだ。
もしそのインスタンスに対して、どこかで retain が使われてれば、
実際には解放されないじょ。

215:211
05/06/16 22:19:09
Google で AutorelasePool イベントループ で検索したら、以下のURLで納得しました。
URLリンク(www.tech-arts.co.jp)


216:デフォルトの名無しさん
05/06/17 08:00:31
Objective-Cは CやC++、Javaと比べて簡単?便利に感じてる?

217:デフォルトの名無しさん
05/06/17 09:25:52
本が無い点を除けばいいと思う

218:デフォルトの名無しさん
05/06/17 12:30:56
簡単だよ

219:デフォルトの名無しさん
05/06/17 13:28:02
Objective-Cは簡単だと思うが、Cocoaその他のAPIが辛い。
ドキュメントなさ過ぎ。

220:デフォルトの名無しさん
05/06/17 16:00:27
あるよ

221:デフォルトの名無しさん
05/06/17 17:16:17
ないとは言ってないだろ

222:デフォルトの名無しさん
05/06/17 21:06:13
ないよ

223:デフォルトの名無しさん
05/06/18 02:36:58
ありすぎ>>>>>ある>>>>>>ない>>>>>なさすぎ

224:デフォルトの名無しさん
05/06/18 02:59:22
マジ?
ありすぎ>ある>なさすぎ>ない
こうじゃないの?


225:デフォルトの名無しさん
05/06/18 03:00:21
違った
ある>ありすぎ>なさすぎ>ない

理由
過ぎたるは及ばざるが如し


226:デフォルトの名無しさん
05/06/20 20:48:52
掃除を
しすぎ>>する>>しない>>しなさすぎ
 ||    ||    ||     ||
潔癖性  普通   不潔   ゴミ屋敷

な?

227:デフォルトの名無しさん
05/06/21 03:29:37
きれいずきは?



228:デフォルトの名無しさん
05/06/21 13:46:44
セックスを
しすぎ>>する>>しない>>しなさすぎ
 ||      ||     ||       ||
ヤリチン 一般人  インポ    童貞

229:デフォルトの名無しさん
05/06/22 14:48:28
つまり
  O  b  j  e  c  t  i  v  e  -  C  は  童  貞

230:デフォルトの名無しさん
05/06/22 14:57:34
>>224 でいいんじゃね?
ありすぎ: » 1
ある:   ≥ 1
なさすぎ: ≈ 0
ない:   = 0

231:デフォルトの名無しさん
05/06/22 16:43:07
なんだこの流れは?

232:デフォルトの名無しさん
05/06/22 17:18:55
んじゃ本来の流れというか質問
NSWindowのkeyDown:やperformKeyEquivalent:ではcommand等の修飾キー"だけ"押したのはわからないぽいんですが、
どうすれば取れますか?

233:デフォルトの名無しさん
05/06/22 21:11:39
気合いで取る。

234:232
05/06/22 21:32:41
んな殺生な
というか自己解決
ファーストレスポンダで
- (void)flagsChanged:(NSEvent *)theEvent
をオーバーライドですね
NSResponder見てませんでした

235:デフォルトの名無しさん
05/07/08 02:17:14
メソッドにアクセス指定子つけられないとか
抽象クラスがないとかクラス変数がない等の点が
Javaに比べていまいち使いにくい気がするんですが
これは漏れの認識不足のせいですか?

236:デフォルトの名無しさん
05/07/08 02:26:55
気のせいです。

237:デフォルトの名無しさん
05/07/08 15:49:13
>>235
アクセス指定子はないけどヘッダに書いたら公開扱いで書かなかったら
非公開扱いってことにして使うんだろう.
# 実際にはヘッダに書かなくても呼出せるはずだから private ではないけれど…
抽象クラスはあったら嬉しいかもしれんがなくてもそれほど困らない.

逆に Java に出来なくて ObjC に出来ることとして category 使って既存クラス
にメソッド追加したり override したりとかがある.

コンパイル時の静的型チェックのゆるさとか考えても全体的に Java よりも
柔軟でプログラマ任せの言語になってると思う.
#というより Java が堅すぎとも言えるけど…

238:デフォルトの名無しさん
05/07/08 21:46:06
>>235
認識が不足しているのは

×誤 使いにくい
○正 使い慣れない

という部分だな



239:デフォルトの名無しさん
05/07/28 21:55:33
保守age

240:デフォルトの名無しさん
05/07/29 01:44:57
>>239
保守する暇があるなら新Mac板のCocoaスレの質問に答えてあげてよ!

241:デフォルトの名無しさん
05/07/29 02:34:54
質問者乙

242:デフォルトの名無しさん
05/08/08 20:39:10
いままでProject BuilderでビルドしてMacOSX 10.2.8で動いていたプロジェクトを
Xcode 1.5でコンパイルしたら10.2.8ではもう動かなくなってしまいました。Xcodeからコンパイルして10.2.8でも動くようにするオプションなどはありませんか?


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4854日前に更新/229 KB
担当:undef