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
692 名前:デフォルトの名無しさん [2010/01/16(土) 21:17:35 ] 最近 Objective-C 2.0 を始めたんですが、ガベコレについて質問です。 ガベコレって retainCount が 0 になったインスタンスを自動的に解放してくれるだけで、 retain, release によるメモリ管理は必要なんですよね? NSAutoReleasePool でメモリ管理をしないでよくなった、という理解で良いでしょうか。
693 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 21:35:39 ] 全然違う。 ルートとなるNSAppから芋づる式に参照されてる(到達可能な)オブジェクトを保持し、 関連が無くなったオブジェクトを自動的に始末するシステムです。 journal.mycom.co.jp/special/2007/objectivec/002.html 参照カウントは使ってない。
694 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 21:39:39 ] C++は0xとか模索されてて鋭意進化中だけど、Objective-C は 3.0 が出来るとしたら、どんな拡張になるのかな?
695 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 22:34:26 ] 特にこれといって欲しい機能もないしなあ。 名前空間くらいか。
696 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 00:17:01 ] 無名関数、ラムダ式、ジェネリックは欲しい。 ちゅうかC++ 0x のコンパイラなんぞ実装するベンダーあるのかね。 IDE込みで考えると、かなり大変そうだけ。
697 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 00:21:47 ] 詳しくは知らんのだが、ブロック構文はラムダ式の代わりにはならんの?
698 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 00:27:04 ] >>696 >無名関数、ラムダ式、 無名関数とラムダって違うの? Blocks のクロージャじゃダメなの?
699 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 00:48:20 ] クロージャなんてものがあるのか。知らなかった。これ使いまくろ。
700 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 00:52:45 ] >>696 >ジェネリック 動的束縛な言語にジェネリックって必要か?
701 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 00:55:07 ] ジェネリック・プログラミングも、カテゴリを利用して出来るんじゃないの?
702 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 00:55:52 ] Blocksなんて機能あったんだ? 荻原本にも書いてないやんけ!
703 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 00:59:03 ] Dyna本にも書いてないよな、何故か知らないけど。
704 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 06:02:50 ] 本にのってないのは、block は snow leopard からの機能だからでしょ。 Objective-C の拡張というよりは C そのものの拡張という 位置づけにしたいらしいよ、Apple は。 まあ多分ほかにどこも採用しないから、 実質 Objective-C の機能という認識になるとおもわれるが...
705 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 12:29:38 ] >696 フル実装はしばらくかかるかもしれないけど gcc も VC も既に機能の取り込みを始めてるし、 C99 と比べれば段違いだと思われ。
706 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 12:30:28 ] 木下本が出たのは雪豹後だったはず。
707 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 13:17:37 ] >>706 違う。
708 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 13:19:15 ] >>706 あれは マイコミジャーナルに長期連載されてたのを まとめただけだから仕方がないね せめて 2.0 ランタイムについて一章だけでも付け加えてくれたらよかったんだが、 あれを買って 10.6 で実際にやってみようとしてはまってるひとが ときどきこのスレやら新 mac 板の Cocoa スレにでますね
709 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 15:54:05 ] あるクラスが持つプロパティの属性をassignにするべきか、retainにするべきか、copyにするべきかで悩んでしまいます。 結局わからないから、とりあえずassignにしとけってことが多いです。 独立性の高いクラスの場合はretainで保持した方がいいのかなと思ったりするんですが... 何か指針みたいなものってあるんでしょうか? それとも経験的な勘でみなさん決めてらっしゃるんでしょうか?
710 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 16:28:23 ] 最終的にどのタイミングで release されるか、を考えておくべき。
711 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 18:22:22 ] やっぱりオブジェクト型のプロパティはretainしてdeallocでreleaseしといた方が確実なんですかねぇ。 autoreleaseされたプロパティを渡される可能性もあるし。 となるとassignの使いどころって、数値型や文字列とかのプリミティブ型に対してってことになっちゃいますかねぇ... copyは...ゔーん、まいっか。
712 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 18:31:54 ] >>711 delegate や target など、 retain にすると循環参照でリークする人が 出そうなものは少し考えたうえで assign にしたりする。 知らぬ間に内容を変更されたくないオブジェクトで、 retain で受けると mutable string を渡したあとで中身を変更する人がいるかもしれないな、 などと心配する暇があるときは copy。 面倒なときはどっちも retain にしといて使う側が気を付けることにする。
713 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 19:08:42 ] あぁdelegateね、これは確かにサンプルとかみてもassignにしてあるのが多いですね。 まだ覚束ないですが、少し自分なりに整理できそうです。ありがとうございしました。
714 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 21:09:44 ] Xcodeって「¥」と「¥」(バックスラッシュ)って区別されてんのね。どおりで¥n入れても改行せんわけだわ。
715 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 00:09:40 ] XCode が、じゃなくて、標準のユニコードがそうなだけ
716 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 17:01:56 ] C と c は区別したーい
717 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 08:38:46 ] >>709 Google の Style Guide だと NSString なプロパティはとりあえず copy にしとけってことになってる google-styleguide.googlecode.com/svn/trunk/objcguide.xml?showone=Properties#Properties
718 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 13:16:24 ] Google は最早 Apple の敵だが、参考にしよう。
719 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 18:17:39 ] 敵判定って空しくなるだけ。
720 名前:デフォルトの名無しさん mailto:sage [2010/01/28(木) 20:30:17 ] Googleは、アップル製品をアク禁できるんだから、Googleに戦う気があったら勝負にならない。
721 名前:デフォルトの名無しさん mailto:sage [2010/01/30(土) 18:30:28 ] - (int)hoge:(int)a; みたいなメソッドを、performSelector:withObject: のように(SEL)と引数を与えて動かす方法ってないのかな? int を NSNumber にするしかない?
722 名前:デフォルトの名無しさん mailto:sage [2010/01/30(土) 19:31:34 ] >>721 面倒くさいが、NSInvocation を作って動かすとか。 id invocation = [NSInvocation invocationWithMethodSignature: [piyo methodSignatureForSelector:@selector(hoge:)]]; int arg = 1; [invocation setArgument:&arg atIndex:2]; [invocation invoke]; int rtn; [invocation getReturnValue:&rtn];
723 名前:デフォルトの名無しさん mailto:sage [2010/01/30(土) 19:34:24 ] ターゲット設定してなかった。[invocation setTarget:piyo] をやるか、 [invocation invokeWithTarget:piyo];
724 名前:デフォルトの名無しさん mailto:sage [2010/01/31(日) 17:59:29 ] >>722-723 NSInvocation って以前見かけて、結局使い道が分からなくて放置してたクラスだけど、色々調べてみます。 ありがとう。
725 名前:デフォルトの名無しさん [2010/01/31(日) 23:32:14 ] >>720 Macユーザのシェアがごっそりなくなるから無理だろうな。
726 名前:デフォルトの名無しさん mailto:sage [2010/02/01(月) 22:47:01 ] それはぶっちゃけ言うほど痛くない
727 名前:デフォルトの名無しさん mailto:sage [2010/02/02(火) 02:14:29 ] Google使えなくなったら大部分は乗り換えるだけ。
728 名前:デフォルトの名無しさん mailto:sage [2010/02/02(火) 04:10:35 ] Google社員にもMac愛好家くさるほどいんのにそんな誰得の展開になるわけないだろ 使えなくしたらグーグルの勝ち〜とか発想が幼稚すぎるわ おまえらなんでそんなに頭悪いの とてもプログラミングできるような頭じゃないと思うんだがなんでこのスレにいんの
729 名前:デフォルトの名無しさん mailto:sage [2010/02/02(火) 05:14:53 ] キミ凄いね
730 名前:デフォルトの名無しさん mailto:sage [2010/02/02(火) 07:58:20 ] 社員の趣味と企業戦略を一緒くたにして話す奴も大概頭悪いと思う
731 名前:デフォルトの名無しさん mailto:sage [2010/02/02(火) 21:09:37 ] なんでプログラマやデザイナやミュージシャンとかクリエイティブなやつらにMac使いが多いか考えたことないだろ Macを除外する企業戦略とかニートや低脳厨房の発想
732 名前:デフォルトの名無しさん mailto:sage [2010/02/02(火) 21:20:13 ] 理由は唯一つ お洒落だからですが何か
733 名前:デフォルトの名無しさん mailto:sage [2010/02/02(火) 21:55:20 ] プログラマはねーよww
734 名前:デフォルトの名無しさん mailto:sage [2010/02/02(火) 22:03:39 ] (クリエイティブな)ブログラマってことだろ
735 名前:デフォルトの名無しさん [2010/02/02(火) 22:54:44 ] >>731 デザイナーとミュージシャンにMacが多い理由は、割れの巣窟だったから。 写真屋とか、9割が違法コピーって言われてた。
736 名前:デフォルトの名無しさん mailto:sage [2010/02/02(火) 22:57:15 ] 開発環境がそっくり入ったUNIXマシンなんだからプログラマが選んでも 何の不思議も無いと思うが
737 名前:デフォルトの名無しさん mailto:sage [2010/02/02(火) 23:39:43 ] Googleの中の人とか、Ruby on Railsの人とか、イケテルプログラマはMac使いが多いね。
738 名前:デフォルトの名無しさん mailto:sage [2010/02/02(火) 23:45:06 ] Linus ってイケてたっけ?
739 名前:デフォルトの名無しさん mailto:sage [2010/02/02(火) 23:45:47 ] PDFをネイティブにサポートしてるからPDFのドキュメントも読み易いしね。 あとLeopard以降は64bitアプリそのまま使えるから、64bit版OSインストール し直しなんて手間も要らない。
740 名前:デフォルトの名無しさん mailto:sage [2010/02/03(水) 00:07:30 ] MacはUNIXなんだから、ドザじゃないまともなプログラマはMac使う
741 名前:デフォルトの名無しさん mailto:sage [2010/02/03(水) 00:21:08 ] 犯罪者が必死だな。
742 名前:デフォルトの名無しさん mailto:sage [2010/02/03(水) 00:42:40 ] あらやだ くやしいんですね だいじょうぶですよ がんばって知能つけましょうね
743 名前:デフォルトの名無しさん mailto:sage [2010/02/03(水) 00:46:49 ] カンファレンスや勉強会に行くと、もう過半数がMacだなぁ。 発表者なんか下手すると9割くらいMac。サポートがしょぼいはずのJava系ですら半分がMac。 個人的に、2kgを超えるモバイルマシンなんざありえねぇと思ってるので、正直理解できん。Airは中途半端すぎるし。
744 名前:デフォルトの名無しさん mailto:sage [2010/02/03(水) 02:01:37 ] 個々は GNUStep, Cocotron もふくめた Objective-C のスレですよ! Mac の話題なんてとんでもない!ぷんすか
745 名前:デフォルトの名無しさん mailto:sage [2010/02/03(水) 02:03:36 ] StepStone ってどうなったんだっけ?
746 名前:デフォルトの名無しさん mailto:sage [2010/02/03(水) 02:09:05 ] >>745 NeXT が Objective-C の権利を買い取ったあともしばらく存続してたけど、 消滅したらしい en.wikipedia.org/wiki/Stepstone
747 名前:デフォルトの名無しさん mailto:sage [2010/02/03(水) 10:40:00 ] プログラマは、技術的に面白い物は全部触ってみたくなる人種だ。 OSXとLinuxとWindowsが全部動くマシンがMacしかない以上、 他に選択肢は無い。 電話もiPhone持ちが大半だが、加えてAndroidも持ってたりするぞ。
748 名前:デフォルトの名無しさん mailto:sage [2010/02/03(水) 14:03:23 ] 複数持つだけ 全部動くからという理由じゃ選択しないよ
749 名前:デフォルトの名無しさん mailto:sage [2010/02/03(水) 20:20:42 ] 一人暮らしでもマシンが複数台あってLANでつながってるのが当たり前だと思うんだが。
750 名前:デフォルトの名無しさん mailto:sage [2010/02/03(水) 20:23:22 ] 最近は仮想マシンでも十分な性能が出るから、うちはハードは1台だよ。
751 名前:デフォルトの名無しさん mailto:sage [2010/02/03(水) 21:08:12 ] はーどうしたどうした
752 名前:デフォルトの名無しさん mailto:sage [2010/02/04(木) 13:31:58 ] >>750 新しい機種を導入するたびに前のは破棄してるのか
753 名前:デフォルトの名無しさん mailto:sage [2010/02/04(木) 15:11:30 ] >>752 中古屋に売ってます
754 名前:デフォルトの名無しさん mailto:sage [2010/02/04(木) 16:40:22 ] CocotronでWin用のアプリ作ってみたひといませんか? 実用的ならうれしい。
755 名前:デフォルトの名無しさん [2010/02/06(土) 22:18:35 ] 初心者です。質問させてください。 stringWithCStringを使うと、コンパイル時に warning: ‘stringWithCString:’ is deprecated がでました。 stringWithCStringの代わりに何を使うのがよいですか?
756 名前:デフォルトの名無しさん mailto:sage [2010/02/06(土) 22:26:32 ] Xcodeのヘルプメニューからたどれるドキュメントを読みましょう。 またはメソッド名 (stringWithCString:) のところでOption+ダブルクリック
757 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 00:20:28 ] 初心者はこのスレに来るな
758 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 00:31:21 ] え〜っ、なんで?
759 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 00:35:52 ] >>752 他人にあげたり、捨てたり、死蔵したり >>755 >stringWithCStringの代わりに何を使うのがよいですか? stringWithCString:encoding:
760 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 14:33:01 ] 複数のPCがあっても仮想マシン導入して、前のは捨てるのか。 どのくらいのペースで買い替えてるんだろう。 うちはしょっちゅう買ってるから1人暮らしなのにPCは常時7〜8台あるわ
761 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 18:16:51 ] もはやPCを買うことが目的になってるな。
762 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 20:04:59 ] >>758 冗談でつ でも質問が下らな過ぎてちょっとうんざりした。最近はドキュメント読まないゆとりが増えたのかなー。
763 名前:デフォルトの名無しさん mailto:sage [2010/02/08(月) 01:52:54 ] >>762 うちはこないだ新人向けに調べ方の調べ方マニュアルを作ったな。 よくあるのがググる先生に頼りすぎて、ヘルプや付属ドキュメントを読まないとか。
764 名前:デフォルトの名無しさん mailto:sage [2010/02/08(月) 02:42:50 ] 調べ方マニュアルじゃなくて、 調べ方の調べ方マニュアル、なのか?それはメタだなぁ...
765 名前:デフォルトの名無しさん mailto:sage [2010/02/09(火) 12:59:27 ] メタメタにしてやんよ
766 名前:デフォルトの名無しさん mailto:sage [2010/02/09(火) 14:39:02 ] お願いします。
767 名前:デフォルトの名無しさん mailto:sage [2010/02/09(火) 15:28:42 ] メメタァ
768 名前:デフォルトの名無しさん mailto:sage [2010/02/09(火) 18:00:04 ] うわあああああぁぁぁああああ!!!
769 名前:デフォルトの名無しさん mailto:sage [2010/02/09(火) 18:32:17 ] バルス
770 名前:デフォルトの名無しさん mailto:sage [2010/02/09(火) 18:44:24 ] ふぅ..
771 名前:デフォルトの名無しさん [2010/02/15(月) 02:45:53 ] Objective-C入門3日目の初心者です。 フォルダのファイル一覧を、とりあえずコンソールに出してみようとしています。 本やWebを参考にして次のようなコードを書いたのですが、エラーがありうまくいきません。 添削していただけないでしょうか。 初心者は来るなってことだったのですが、 Objective-C初心者はどのあたりにいけばよいでしょう? #import <Foundation/Foundation.h> int main (int argc, const char * argv[]) { NSString *rootpath = @"/Public"; BOOL result = YES; NSArray *contents = [[NSFileManager defaultManager] directoryContentsAtPath:rootpath]; int i; for (i = 0; i < [contents count]; i++) { NSString *name = [contents objectAtIndex: i]; NSString *path = [dirPath stringByAppendingPathComponent:name]; BOOL isDir; NSLog(@"\n%@", path); } return 0; }
772 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 03:13:08 ] #import <Foundation/Foundation.h> int main (int argc, const char * argv[]) { NSAutoreleasePool *pool=[[NSAutoreleasePool alloc] init]; NSString *rootpath = [NSHomeDirectory() stringByAppendingPathComponent : @"Public"]; NSArray *contents = [[NSFileManager defaultManager] directoryContentsAtPath : rootpath]; for (NSString *name in contents) NSLog(@"%@", [rootpath stringByAppendingPathComponent : name]); [pool release]; return 0; }
773 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 09:47:18 ] 一見して良いように見えるが、どんなエラーがでるの? 僕らだってエスパーじゃないから、「エラーがでます」じゃわからんよ。 コンパイルエラーならコンパイルエラーを書き写してもらわんと困るし、 実行時のエラーならどんなエラーなのか書いてください。 「エラーがでます」とだけここに書き込むのは、 エラーが出て、エラーメッセージを解読する気がないという気がします それではプログラムは上達しませんよ。 単に ~/Public になんもファイルがないだけでは、と言う気がします。
774 名前:デフォルトの名無しさん [2010/02/15(月) 10:58:25 ] >>772 おお。ありがとうございました。 早速実行したところ、 warning: 'directoryContentsAtPath:' is deprecated (declared at /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSFileManager.h:164) と警告が出てビルドできませんでした。 これは、どこを見ればよいのでしょう? というか、NSFileManager.hの164行なんだと思うので、 見たところ、 - (NSArray *)directoryContentsAtPath:(NSString *)path DEPRECATED_IN_MAC_OS_X_VERSION_10_5_AND_LATER; という行でした。 NSString *rootpath = [NSHomeDirectory() stringByAppendingPathComponent : @"Public"]; NSString *rootpath = [[@"~" stringByExpandingTildeInPath] stringByAppendingPathComponent : @"/Public"]; などいくつか試したのですが、どうしてもうまくいきません。
775 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 11:56:23 ] 英和辞書をお奨めする
776 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 12:29:09 ] 雑談と初心者いじりしかやらないよねMac系の開発スレって
777 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 12:57:21 ] このレベルから教えるのは正直きっついな
778 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 13:17:01 ] 警告だからコンパイルは一応通ってるんじゃないの? OS 10.5以降は非推奨メソッドだから使わないでねって警告なんじゃないの?
779 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 14:01:11 ] >>774 コンソールを表示してみ。 > ビルドできませんでした。 嘘付かないでね。
780 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 14:10:21 ] >>776 これがわからないってことは、リファレンスどころか警告すら読めてないってことでしょう。 その状態でObj-Cで開発やるのはかなり厳しいよ。 で、「(やる気があるのなら)英和辞書をお奨めする」ってことなんだけどな。 それとも警告出るたびに聞きに来るの?
781 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 14:31:03 ] そういうレスだけは饒舌だなw
782 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 15:24:34 ] まぁまぁ^^;
783 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 18:49:27 ] むしろ 「Cocoaスレに行け」とか 「Mac プログラミングスレに行け」 って言われなかったのが奇跡だな… # Foundation Framework ネタはどこが適切なんだろ…?
784 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 18:58:27 ] 内容ジャンル的にはここでも問題ないと思うが、このレベルの無知無知初心者を相手にするのも大変だろう。
785 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 19:04:11 ] deprecatedはもうすぐなくなるよってこと。今はまだある。 これはすごく親切な警告。 なのでdirectoryContentsAtPath:をopt+ダブルクリックしてみる。リファレンスが表示される。 Special Considerations Because this method does not return error information, it has been deprecated as of Mac OS X v10.5. Use contentsOfDirectoryAtPath:error: instead. って書いてあるので代わりに contentsOfDirectoryAtPath:error: を使う。
786 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 19:05:44 ] 調べ方教えたんだから同じ内容ではもう来るなよ
787 名前:デフォルトの名無しさん [2010/02/15(月) 19:44:43 ] >>775-786 まあそうおっしゃらずに、 もうすこしおつきあいいただけないでしょうか。 さきほどのファイル一覧は、あらためてプロジェクトを作り直したら、問題なく動きました。 一覧も取得できました。 失敗したときは、まだトライ&エラーの段階なので、 ひとつのプロジェクトのソースを全選択して、 消しては新しいソースを貼りつけて、 実行していたのです。 ソースじたいは変更していないのですが、 ともあれお騒がせしました。 で、次なのですが、いちおう辞書片手に読んでますけど、 (1)デバッグ中に変数に代入されているデータを見る方法 (2)コンソールコマンドから、テキストエディタとかのGUIアプリケーションを実行できるのか? の2点を教えていただけないでしょうか。 (1)ブレークポイントを設定してみるものの、 そのデータが具体的になになのか、確認するには、 どこのメニューでどれを見ればよいのでしょう? (2)ソースは次のとおりで、実行すると、デバッガコンソールでいろいろ表示したあと、 (gdb)というモード? になり、期待していたように、 テキストファイルをテキストエディタで表示はしませんでした。 そもそもこういう方法で、外部のアプリケーションを起動できるんでしょうか? アドバイスお願いします。
788 名前:デフォルトの名無しさん [2010/02/15(月) 19:46:20 ] #include <Foundation/Foundation.h> int main() { NSTask *noteTask = [[NSTask alloc] init]; NSMutableArray *noteArgs = [NSMutableArray array]; NSString *path; path =[[NSHomeDirectory() stringByAppendingString:@"Public/tmp.m"]; // configure note [noteArgs addObject: path]; [noteTask setLaunchPath: @"/Applications/TextEdit.app/Contants/MacOS/TextEdit"]; [noteTask setArguments: noteArgs]; // launch applications [noteTask launch]; // wait applications return 0; }
789 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 20:03:01 ] >>787 (1) ブレークポイントで停止したら適当な変数名にカーソル合わせる またはデバッガコンソールで p コマンドか po コマンド使う p は C の基本データ型、 po は ObjC のオブジェクトの内容を表示する p intVar po object po [object value] てな具合 あとは help コマンドで調べて (2) >[noteTask setLaunchPath: @"/Applications/TextEdit.app/Contants/MacOS/TextEdit"]; Contants じゃなくて Contents な 「いろいろ表示」された中に手掛かりが書いてある、ちゃんと読めよ
790 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 22:17:46 ] 親切だなぁ
791 名前:デフォルトの名無しさん [2010/02/15(月) 22:27:00 ] >>789 ありがとうございました。
792 名前:デフォルトの名無しさん [2010/02/18(木) 23:36:01 ] Objective-C気持ち悪い