- 1 名前:デフォルトの名無しさん [2009/04/15(水) 00:11:00 ]
- Objective-C(オブジェクティブ シー)はプログラミング言語の一種。C言語をベースにSmalltalk型のオブジェクト指向機能を持たせた上位互換言語。
(Wikipedia:ja.wikipedia.org/wiki/Objective-C より) Objective-C [ObjC part:3]; ttp://pc12.2ch.net/test/read.cgi/tech/1186543111/ Objective-C ttp://pc11.2ch.net/test/read.cgi/tech/1106983092/ Objective-C ttp://pc5.2ch.net/tech/kako/990/990574267.html
- 82 名前:デフォルトの名無しさん mailto:sage [2009/06/03(水) 23:58:03 ]
- typedefすればいいじゃん。
- 83 名前:デフォルトの名無しさん mailto:sage [2009/06/03(水) 23:58:09 ]
- Obj-Cって型が解らなくなった場合に
チェックする方法ってありますか?
- 84 名前:デフォルトの名無しさん mailto:sage [2009/06/04(木) 00:41:19 ]
- 正確には無いと思うよ。
- 85 名前:デフォルトの名無しさん mailto:sage [2009/06/04(木) 01:24:04 ]
- >>83
[obj class] developer.apple.com/DOCUMENTATION/Cocoa/Reference/Foundation/Protocols/NSObject_Protocol/Reference/NSObject.html#//apple_ref/occ/intfm/NSObject/class wwwa.dcns.ne.jp/~nito/OSPT/ObjcOthers.html
- 86 名前:デフォルトの名無しさん mailto:sage [2009/06/04(木) 01:43:55 ]
- >>83
その型ってのは、変数の型? それとも、オブジェクトのクラス? Objective-Cは変数に型がない(idでかまわない)言語なだけですよ(プリミティブ型は除きますが) 型キャストを許す言語であれば、(変数の)型が分からなくなる事はありえるのでは? 変数の型がどうであれ、オブジェクトが自分自身の型/クラス、もしくは受けられるメッセージを知ってれば問題ないって考え方です
- 87 名前:デフォルトの名無しさん mailto:sage [2009/06/04(木) 01:51:14 ]
- オブジェクトの型が id なんじゃないの?
プリミティブがそれぞれの型を持っているのと同じで。
- 88 名前:デフォルトの名無しさん mailto:sage [2009/06/04(木) 04:23:39 ]
- >>87
idは構造体のポインタのtypedefだからそうとも言えるけど、それは変数に型のあるCという言語での実装の話しで...なんというか微妙な感じもする。 idには特別意味もないし、JavaとかC++の縛りのきつい「型/クラス」と、idは別の概念、別のくくりにした方がいいんではないかと。
- 89 名前:デフォルトの名無しさん mailto:sage [2009/06/04(木) 22:58:35 ]
- 何なのこの投げっぱなし質問
- 90 名前:デフォルトの名無しさん mailto:sage [2009/06/06(土) 00:15:09 ]
- interface作ったときにメモリ開放メソッドは
どのように記述するのが一般的なのでしょうか
- 91 名前:デフォルトの名無しさん mailto:sage [2009/06/06(土) 02:39:56 ]
- @interface ... @end内にデストラクタをどう宣言するかという話かな?
普通はNSObjectで宣言されているdeallocメソッドをオーバーライドします。 (だから@interfaceにはとくに何も書きません。) メモリ管理については developer.apple.com/documentation/Cocoa/Conceptual/MemoryMgmt/Articles/mmObjectOwnership.html をどうぞ。
- 92 名前:デフォルトの名無しさん mailto:sage [2009/06/06(土) 20:48:46 ]
- 独自にObjを定義したとして
[[Obj alloc] initHoge : arg]; allocと組み合わせて利用するinitHogeを定義するとき 定義は以下が一般的なのでしょうか? - (id) initHoge : (NSString *) val;
- 93 名前:デフォルトの名無しさん mailto:sage [2009/06/06(土) 22:03:25 ]
- XmlTextWriterみたいなクラスってないですか?
- 94 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 00:24:29 ]
- >>93
Obj-C スレにきて、返事をする人が .NET を知っていると仮定するとはいい度胸をしている。読み手のことを考えて、 「.NET ならこれこれができるこれこれというクラスが あるんですけど、(ドキュメントは http:// ... に ...)」とか 質問の際に書けんものかね? とりあえず NSXMLDocument をつかえば規格に準拠した XML データは つくれますよ。かなりメソッド名が冗長だけど。 手で文字列をつなぎ合わせて XML にするよりは断然いいです。 あと、これ以上は Mac 板の iPhone プログラミングスレか Cocoa スレに行ったほうがいいとおもいます。ここは一応 Obj-C 言語に特化した 過疎スレなので。
- 95 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 01:58:33 ]
- >>93みたいな手合いは相手する必要ないよ。
- 96 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 22:23:27 ]
- NSMutableDictionaryにオブジェクトをつっこむときに
NSMutableDictionary *dic = [[NSMutableDictionary alloc] init]; Hoge *hoge = [[Hoge alloc] init]; [dic setObject:hoge forKey:@"hoge"]; とやるのと [dic setObject:[[Hoge alloc] init] forKey:@"hoge"]; とでは、後者はメモリリークするのでしょうか?
- 97 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 23:19:50 ]
- 何処が違うのかさっぱりわからん
- 98 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 23:47:19 ]
- >[dic setObject:[[Hoge alloc] init] forKey:@"hoge"];
て書いたら、 setObject:に渡したHogeインスタンスを後でreleaseする手段が無くなるのでは 上の書き方なら [hoge release]て書けるけど。
- 99 名前:デフォルトの名無しさん mailto:sage [2009/06/10(水) 02:47:32 ]
- >>98
なあにobjectForKey:@"hoge"で取り出してreleaseすればいいさ
- 100 名前:デフォルトの名無しさん mailto:sage [2009/06/10(水) 07:22:05 ]
- [dic setObject:[[[Hoge alloc] init] autorelease] forKey:@"hoge"];
じゃないとだめ
- 101 名前:デフォルトの名無しさん [2009/06/10(水) 16:29:35 ]
- 改行したいときって何を書けばいいんでしょうか?
\nでも\rでもダメだったんですが。
- 102 名前:デフォルトの名無しさん mailto:sage [2009/06/10(水) 17:05:39 ]
- (option + ¥) n
- 103 名前:デフォルトの名無しさん mailto:sage [2009/06/10(水) 18:15:29 ]
- >>102
ありがとうございます
- 104 名前:デフォルトの名無しさん mailto:sage [2009/06/10(水) 23:35:38 ]
- >>99
それ今の仕様だとメモリリークするけど?
- 105 名前:デフォルトの名無しさん mailto:sage [2009/06/11(木) 00:01:56 ]
- >>104
今の仕様って何? GCのこと?だとしたらGCは仕様じゃなくてオプションだと思うんだが
- 106 名前:デフォルトの名無しさん mailto:sage [2009/06/11(木) 00:07:37 ]
- >>105
どっちにしてもコレクションに入れたものを objectForkeyで取り出して開放してもリークするだろ
- 107 名前:デフォルトの名無しさん mailto:sage [2009/06/11(木) 01:10:47 ]
- >>106
意味が分からん、説明して #import "Hoge.h" @implementation Hoge - (void) dealloc { NSLog(@"hoge dealloc"); [super dealloc]; } @end #import "AppController.h" #import "Hoge.h" @implementation AppController - (void)awakeFromNib { NSMutableDictionary *dict = [[NSMutableDictionary alloc] init]; [dict setObject:[[Hoge alloc] init] forKey:@"hoge"]; Hoge *hoge = [dict objectForKey:@"hoge"]; [hoge release]; NSLog(@"%d", [hoge retainCount]); // [dict removeObjectForKey:@"hoge"]; [dict release]; } @end これでログ出した時点でhogeのretainCountは1でMutableDictionaryに保持されてるだけの状態。 辞書から取り除くか辞書を解放すればHogeはちゃんとdeallocされるんだけど、どこが違うんだ?
- 108 名前:デフォルトの名無しさん mailto:sage [2009/06/11(木) 01:12:36 ]
- なんならHoge取り出さずに
- (void)awakeFromNib { NSMutableDictionary *dict = [[NSMutableDictionary alloc] init]; [dict setObject:[[Hoge alloc] init] forKey:@"hoge"]; [[dict objectForKey:@"hoge"] release]; NSLog(@"%d", [[dict objectForKey:@"hoge"] retainCount]); [dict release]; } これでもちゃんとdeallocされるけど?
- 109 名前:デフォルトの名無しさん mailto:sage [2009/06/11(木) 01:14:31 ]
- ふーん
- 110 名前:デフォルトの名無しさん mailto:sage [2009/06/11(木) 01:20:05 ]
- >>109
ふーん、じゃなくてさ
- 111 名前:デフォルトの名無しさん mailto:sage [2009/06/11(木) 22:25:41 ]
- あーそうかい俺が悪かったよ
謝ればいいんだろゴラぁ
- 112 名前:デフォルトの名無しさん mailto:sage [2009/06/11(木) 22:39:43 ]
- 謝ってないんだけど
- 113 名前:デフォルトの名無しさん mailto:sage [2009/06/11(木) 22:43:33 ]
- Cocoaが分からないけど興味があるだけの俺みたいなのもいる訳だが、
結局のところ>>107,108が仕様として正しいということでFAですか?
- 114 名前:デフォルトの名無しさん mailto:sage [2009/06/12(金) 00:02:52 ]
- それ以前に作法として完全に間違っているので気にする必要はありません。
>>99はネタ。
- 115 名前:デフォルトの名無しさん mailto:sage [2009/06/12(金) 00:04:42 ]
- そもそもNSMutableDictionaryって非推奨のAPIだろ
NSMutableDictionaryに入れるとメモリリークするし
- 116 名前:デフォルトの名無しさん mailto:sage [2009/06/12(金) 01:00:46 ]
- >>115
んなわけねーだろ。retain count を勉強し直してこい。 2chで調べ物をしたい時は「教えてください」って書いても なかなか教えてもらえない。 そういう時は、知ったかぶり風に間違ったことを自信満々に書く。 そうすると、ものすごい勢いでツッコミを入れてもらえる。 コピペ新聞 - 調べ物のコツ copipe.info/archives/9084 ということですか。
- 117 名前:デフォルトの名無しさん mailto:sage [2009/06/12(金) 01:56:44 ]
- >>116
そのメソッド頂いたっ!
- 118 名前:デフォルトの名無しさん mailto:sage [2009/06/12(金) 02:29:23 ]
- >>114
いやネタっつうか、できるできないで言うならできるという意味で書いた そりゃ普通こんな書き方はしないけど
- 119 名前:デフォルトの名無しさん mailto:sage [2009/06/12(金) 05:54:02 ]
- retain/releaseはObjective-Cと関係ないけどなんでここでやってんの?
Cocoaスレでやれば良いのに。
- 120 名前:デフォルトの名無しさん mailto:sage [2009/06/12(金) 07:04:39 ]
- OpenStepで規定されてるしここでいいんでねいの。
- 121 名前:デフォルトの名無しさん mailto:sage [2009/06/12(金) 07:34:48 ]
- 正しい書き方は一体どれなの?
- 122 名前:デフォルトの名無しさん mailto:sage [2009/06/12(金) 07:56:37 ]
- そういう大事なことはこんなところで断片的な情報をかき集めるより書籍かなにかで
体系だった解説をきちんと読むべきだと思う。 Cocoa周りはアップルが出しているリファレンスがしっかりしてるから>>91の リンク先でも読むといいよ。
- 123 名前:デフォルトの名無しさん mailto:sage [2009/06/12(金) 08:42:14 ]
- ぶっちゃけOpenStep系以外のObjCフレームワークだってほとんどretain/release採用してるでしょ
- 124 名前:デフォルトの名無しさん mailto:sage [2009/06/12(金) 10:23:46 ]
- ここで出てるような単純なサンプルならいいけど、
一般にはオブジェクトを入れてから取り出すまでに、別スレッドからdictionaryをいじられて、別のオブジェクトをreleaseしてしまう可能性がある。 まあ作法として避けておくのが無難。
- 125 名前:デフォルトの名無しさん mailto:sage [2009/06/12(金) 12:34:39 ]
- あんなコード書いてたらどうしようもない馬鹿だと思われることは確実。
- 126 名前:デフォルトの名無しさん mailto:sage [2009/06/12(金) 13:14:39 ]
- >>96のことな
- 127 名前:デフォルトの名無しさん mailto:sage [2009/06/12(金) 14:30:20 ]
- >>126
すまん、初心者でよくわからんのだが、 >>96のやり方だと何がまずいのか教えてくれ。
- 128 名前:デフォルトの名無しさん mailto:sage [2009/06/12(金) 15:34:59 ]
- >96 のその部分だけ見れは、前者だろうが後者だろうがメモリリークする
実は前者はこの後のコードでリリースしてます、とか オーナーシップとかしらね、後でリリースできれば良いんだよ、 とかって言い出さない限り。
- 129 名前:デフォルトの名無しさん mailto:sage [2009/06/12(金) 18:59:21 ]
- autoreleaseされたインスタンスを返すfactory methodを作るのが普通の感覚でしょ。
そこに思い至らない時点で実力は推して知るべしだから、GC使うかリークなんて 気にしなくて良いよ。リークが問題になる規模の物はどうせ作れないし、多分他にも 問題山積で誰も気が付かない。
- 130 名前:デフォルトの名無しさん mailto:sage [2009/06/12(金) 23:38:40 ]
- OS3.0のiPhoneでも
autoreleaseは果てしなく遅いぞ
- 131 名前:デフォルトの名無しさん mailto:sage [2009/06/13(土) 00:41:02 ]
- iPhoneでGCって性能的にやっぱ厳しいのかな
- 132 名前:デフォルトの名無しさん mailto:sage [2009/06/13(土) 10:11:29 ]
- OS X でも GC は案外リソース喰う気がします
Core Data で GC つかったフリーウェアつくってますが、使っていると 時々 CPU 使用率があがるのは何故かと問い合わせがあって、 しらべてみたら GC がかなり頑張ってるように見えました。
- 133 名前:デフォルトの名無しさん [2009/06/17(水) 19:24:12 ]
- journal.mycom.co.jp/column/objc/019/index.html
こちらの方法で、特定のクラスのメソッド一覧を取得しようとしたのですが、 Objective-C 2.0でobjc_method_list構造体の構造が変わってしまっているようで、このままでは取得できませんでした。 Objective-C 2.0における、objc_method_list構造体もしくはそれに変わる構造体について、知っている方居たらよろしくお願いします。
- 134 名前:デフォルトの名無しさん mailto:sage [2009/06/17(水) 20:06:24 ]
- >>133
class_copyMetodList(Class cls, unsigned int *outCount) なおその手のものは、Obj-C 2.0 RuntimeAPIに載ってる。 ttp://developer.apple.com/DOCUMENTATION/Cocoa/Reference/ObjCRuntimeRef/Reference/reference.html
- 135 名前:デフォルトの名無しさん mailto:sage [2009/06/18(木) 01:06:04 ]
- >>134
Runtime Referenceがあることを知りませんでした… ありがとうございます。
- 136 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 21:41:42 ]
- OS3.0だとNSOperationQueueにaddしたOperationが2つしか実行されなくなるんだけど実装方法変わったのかな?
- 137 名前:デフォルトの名無しさん mailto:sage [2009/06/26(金) 13:27:15 ]
- setterが失敗したときって、どういう処理をすべきでしょうか?
1. setterの返り値をBOOLにしてNOを返す。 2. objective-c例外を投げる。 1はsetterの返り値がvoid以外になると、KVCとかでおかしなことにならないか心配。 2は、c++の例外とのすみわけがややこしいので、できればobjective-cの例外は使いたくない。 どうしたもんでしょう。 ライブラリとしては、c++は使わないと割り切ってobjective-cの例外使うべきなのか…
- 138 名前:デフォルトの名無しさん mailto:sage [2009/06/26(金) 14:01:29 ]
- setterが失敗って?
予期しないオブジェクトが渡されたって事ならObjCの例外を投げるのが普通。
- 139 名前:デフォルトの名無しさん mailto:sage [2009/06/26(金) 17:29:31 ]
- あとはデリゲートで処理とか?(それも含めてならごめん)
- 140 名前:デフォルトの名無しさん mailto:sage [2009/06/26(金) 18:36:08 ]
- 3. 何もしない
本当に値がセットされてるかどうか知りたかったら getして比較しろや! 4. exit(3)をコール 気に食わなければ黙って帰る 5. abort(3)をコール そんな話聞いてないです!
- 141 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 03:26:10 ]
- これじゃだめ?
- (void)setHogeHoge:(Hoge *)aHoge error:(NSError **)error;
- 142 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 04:02:09 ]
- >>141
KVCしたいってことだからそれじゃ駄目じゃね? >>137 1.で問題ないんじゃない?Obj-Cのメッソドディスパッチはそんなにヤワじゃないよ。
- 143 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 07:10:47 ]
- ええかげんなこと書くな。
NSKeyValueCoding Protocol Reference - (BOOL)validateValue:(id *)ioValue forKey:(NSString *)key error:(NSError **)outError おまいらまぬある嫁。
- 144 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 11:52:18 ]
- それだとKVCのときだけしか通用しないよね
- 145 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 16:22:38 ]
- KVCはNSKeyValueCodingプロトコルですでに定義されてるんだから、
BOOL返したいんなら同等の別のメソッドとして定義すればいいだけじゃん。 KVC準拠のsetterなら戻り値はvoid。 なんとかしたいなら単に例外投げればいい。
- 146 名前:137 mailto:sage [2009/06/27(土) 22:24:24 ]
- んー、validate???: error:か、validateValue:forKey:error:使うのが、
ルールなんですね。 ttp://developer.apple.com/jp/documentation/Cocoa/Conceptual/KeyValueCoding/Concepts/Validation.html でも、自動で呼ばれるわけじゃないんで、呼び出し側がvalidateした後にsetするわけですか。 すると、validateとsetの間に他スレッドに割り込まれないようにするためには、 呼び出し側でロックしないといけなくなって、イマイチ。 すると、setterでobjective-cの例外投げたくなるけど、「荻原本」とか、 ttp://google-styleguide.googlecode.com/svn/trunk/objcguide.xml#Avoid_Throwing_Exceptions 見ると、objective-c例外は使うな的なことが書かれてて(両者の理由は違うけど)、悩ましい。
- 147 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 01:01:34 ]
- >>146
Cocoa API 自体が予期せぬ引数を与えられた場合は 頻繁に Obj-C 例外投げるので、 別に自分が投げても大勢に変化ないと思いますが...
- 148 名前:デフォルトの名無しさん [2009/06/28(日) 15:06:59 ]
- ちょっとイニシャライザに関して、質問よろしいですか。
wisdom.sakura.ne.jp/programming/objc/objc7.html ここのページの指定イニシャライザのサンプルプログラムなんですが id pt1 = [Point new]; id pt2 = [[Point alloc] initWithPoint:400 int:300]; メイン関数(メソッド)で、pt2にオブジェクトをセットする際に initが走ってないように思うんですがこれでいいもんなんですか? [[クラス名 alloc] init]のセットで覚えてきたので、initしなくて いいのかなっていう疑問なんですが。 ※pt1はinitのオーバーライドで[super init]が走ってるからいいとして。 init自体がよく分かってないから、こういう質問してしまってるのかもしれ ないですが、この方法は正しいのか誤ってるのか、また正しい場合は何故な のかご教授下さい。
- 149 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 16:03:34 ]
- init〜ではじまるメッセージは内部でinitを呼んでるはずだから大丈夫。
- 150 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 16:28:17 ]
- え?逆じゃね?
NSObject +newは、内部的に[[NSObject alloc] init]と等価。 指定Initializerは他のinitから呼ばれる基本部分を含んだ、共用部分。 この例では、 [Point new] [Point alloc] init] はどちらも、内部的にinitWithPointを呼んでいるということ。 もちろん引数は初期値を使っている。この場合は0だろうね。
- 151 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 20:15:22 ]
- >>150
>>148はpt2の初期化のことを聞いてるんじゃね? ちなみに>>148のコードをXcode 3.1.3(gcc 4.0.1)で試したところ、正しく動作した(ただしそのままだとコンパイルも通らないので、本質的でないところは改変した)。 ただ、このサンプルコードはPointのインスタンス変数を読んでprintfしているだけだから上手く動いたのかもしれん。 [super init]がないことに関しては、>>149の言うとおりなのかもしれんが、そうだとするとメソッド呼び出しが循環するし、そうでないとするとObject部分が初期化されていないということになるから、あまり良い実装ではない気がする。
- 152 名前:デフォルトの名無しさん [2009/06/28(日) 21:07:22 ]
- 148です。
>>149様,>>150様,>>151様ご回答ありがとうございます。 結局はpt2ではinitを明示していないので疑問に思ったのです。 >>149様が仰っているように、メソッド名にinit〜をつければinitWithPointで initが自動的に走る、という考えなら納得いきます。 ただ、詳解Objective-C2.0では、サンプルコードのinitWithMinという メソッド内で[super init]と明示しているので、メソッド名に init〜を付けただけではinitが走らないとも判断できます。 まあ・・・[クラス名 alloc] init] の形で覚えておけば問題ない所だと 思うのですが。
- 153 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 22:43:13 ]
- >>148のコードは駄目だな。普通はこうだろう。
- (id) init { return [self initWithPoint:0 int:0]; } - (id) initWithPoint:(int)x int:(int)y { if ((self = [super init])) { self->x = x; self->y = y; } return self; }
- 154 名前:150 mailto:sage [2009/06/28(日) 23:08:13 ]
- ああ理解した。
リンク先のコード見てなかったが、ひどいコードだったのね。
- 155 名前:デフォルトの名無しさん [2009/06/28(日) 23:42:37 ]
- 148です。
>>153様、レスありがとうございます。 やっぱり>>153様のように[super init]で初期化して判定させた方がいいです よね。ありがとうございました。
- 156 名前:デフォルトの名無しさん [2009/06/28(日) 23:58:33 ]
- ここ読むといいよ
developer.apple.com/jp/documentation/Cocoa/Conceptual/CocoaFundamentals/CocoaObjects/chapter_3_section_6.html#//apple_ref/doc/uid/TP40002974-CH4-SW17
- 157 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 00:01:34 ]
- >>153
> - (id) initWithPoint:(int)x int:(int)y { > self->x = x; > self->y = y; これってどうなの?
- 158 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 00:07:29 ]
- 銅ではありません。
- 159 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 02:14:09 ]
- >>148
wisdom.sakura.ne.jp/programming/objc/objc7.html は情報が古すぎるから初心者は読まないほうがいい
- 160 名前:150 mailto:sage [2009/06/29(月) 07:49:54 ]
- インスタンス変数なんだよね?
意味府。
- 161 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 08:22:39 ]
- 148です。やはり、元の情報が古いように感じますね(後に他のページも参照
してみた感想です)。 詳解Objective-C2.0が難しすぎたんで、上記のサイトを参考にしていたんで すが、誤字脱字が多く、たまにコーディングミスもあったりしてかえって混 乱してしまった、というのが素直な感想です。 余談ですがObjective-cってなんか楽しいですね。感覚的に、ですが。。。
- 162 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 15:06:09 ]
- >>161
ヒレガス本を買うのが一番おすすめ。最新版の日本語訳って出たんだっけ? 英語が読めれば英語版をかうのがよし。 cocoadevcentral.com/ もわかりやすいよ。英語が読めれば。
- 163 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 17:33:45 ]
- ヒレガス本の最新版の和訳は、たのみこむあたりに持ち込むしかないのだろうか…
- 164 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 20:49:49 ]
- またまた148です。>>162様、書籍紹介どうもです。
ヒレガス本調べてみましたが、かなり評判いいみたいですね。 英語は得意ではないですが、読むこと事態に嫌悪感は無いので是非購入してみ たいと思います。・・・まあ少々お高いのでまた来月にでも。 教えて頂いたサイトも参考にさせて頂きます。さらっと読んでみましたが図が あって理解し易いですね! また勉強して戻ってきたいと思います。できればアドバイスする側で! 貴重なお時間を割いて頂き、皆様には感謝致します。
- 165 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 21:33:26 ]
- >>164
2ページに1枚はスクリーンショットがあるレベルだ。安心していい。 ナイトライダーについてWiki辺りで調べておくとなおいい。
- 166 名前:デフォルトの名無しさん mailto:sage [2009/06/30(火) 00:25:59 ]
- >>165
いや、日本人でもナイトライダーしってるだろ... いまどきの若者はそうでもない?
- 167 名前:デフォルトの名無しさん mailto:sage [2009/06/30(火) 11:45:24 ]
- はい、マイケル
- 168 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 07:23:05 ]
- >> 164
Safari Books Onlineで立ち読みしてみたら?
- 169 名前:デフォルトの名無しさん [2009/07/02(木) 21:27:59 ]
- fscanfを使いたいのですが、どうしたらいいですか?
- 170 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 21:38:19 ]
- そのまま使えば良いんじゃない?
- 171 名前:デフォルトの名無しさん mailto:sage [2009/07/06(月) 23:34:28 ]
- Objective-Cは2次元配列を扱えない糞言語である。
- 172 名前:デフォルトの名無しさん mailto:sage [2009/07/06(月) 23:37:59 ]
- CとC++は?
- 173 名前:デフォルトの名無しさん mailto:sage [2009/07/07(火) 00:12:11 ]
- int x = 20, y = 50;
foo[x][y]; 何が不満なの?
- 174 名前:デフォルトの名無しさん mailto:sage [2009/07/08(水) 00:07:26 ]
- 放っとけ。
- 175 名前:デフォルトの名無しさん mailto:sage [2009/07/08(水) 00:09:45 ]
- int hoge[10][10]
こいつをキャストする時って int(*)[10] get()とかでよかったんだっけ? C99の仕様と同じ?
- 176 名前:デフォルトの名無しさん mailto:sage [2009/07/08(水) 01:04:37 ]
- malloc系使わずに
int x = 20, y = 50; int hoge[y][x]; ってできる?
- 177 名前:デフォルトの名無しさん mailto:sage [2009/07/08(水) 01:14:16 ]
- >>176
できる。C99。
- 178 名前:デフォルトの名無しさん mailto:sage [2009/07/08(水) 16:30:47 ]
- ttp://code.google.com/p/plblocks/
- 179 名前:デフォルトの名無しさん mailto:sage [2009/07/08(水) 19:27:02 ]
- blocks って何じゃいと思ったらレキシカルクロージャの事か
www.mikeash.com/?page=pyblog/friday-qa-2008-12-26.html landonf.bikemonkey.org/code/iphone/Using_Blocks_1.20090704.html
- 180 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 00:31:15 ]
- >>179
Cocoa を Obj-C で組んでいると block が非常に欲しくなるのは事実なのだが、 C レベルで言語仕様を追加するのはいかがなものかという気もしないでもない
- 181 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 09:05:12 ]
- いつかObjective-C++0xも作られるのかね
- 182 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 09:10:34 ]
- なんで?
いつかって0xということは今年中なわけだけど そんな情報入ってないぞ
|

|