- Cocoaはやっぱり!を見て真似してソフトを作ったは良いが、
オリジナルを作ろうと思ったら、全然その先に進めない人集まれ!
親切なプログラマーさんが暇なときだけ教えてくれる(かも?)
- ≡ ∧_∧
≡≡ ( ´∀`) ♪2げと~
≡≡≡ ( つ┳つ
≡≡≡ | |┃|
≡≡ .(_ )┃.)
≡ (◎) ̄))
- スレタイトル、センスいいね。
- 類似・関連URLぐらい書きなさい
■■ M a c で プ ロ グ ラ ミ ン グ ■■
http://pc.2ch.net/test/read.cgi/mac/1001404151/l50
MacOS XをUNIXとして使ってる人の為のスレ
http://pc.2ch.net/test/read.cgi/mac/1001930035/l50
新・ProjectBuilder
http://pc.2ch.net/test/read.cgi/mac/972679127/l50
Macでゲームを作るスレ
http://game.2ch.net/test/read.cgi/gamedev/1005722214/l50
◆◆◆◆◆◆MacでJava◆◆◆◆◆◆
http://pc.2ch.net/test/read.cgi/mac/991194610/l50
Cocoaはやっぱり!
ttp://www.big.or.jp/%7Ecrane/cocoa/
HAPPY Macintosh Developing TIME!
ttp://homepage.mac.com/mkino2/
Cocoa Developer Documentation
ttp://developer.apple.com/techpubs/macosx/Cocoa/CocoaTopics.html
(開発ツールをインストールすれば、/Developer/Documentation/Cocoa/CocoaTopics.html に同様の資料がある)
- 「はじめてのMacOS X Cocoaプログラミング」注文しちゃったよ。
昔Cの勉強してたけど、10000行超えるようなコードは書いたこと無いんだよね。
これ読んでもっかい挑戦だ!( ゚∀゚)
- >>5
期待してるよ
例に漏れず漏れはCocoaはサパーリ
- ここは初心者向けのスレなの?
- 「ココアはさっぱり」と言われれば「もりながっ」って答えたい。
8年くらい昔少しだけ専門行ってた時プログラムやったけど、できるかな。
プログラム自体好きだったけど。
本屋で本見るとさっぱりだよ。
本の値段も高いから買って全く役に立たなかったら嫌だしなぁ。
- うぅ、気が利かなくてごめんなさい~
一応、初心者スレッドです。
初心者が臆することなく書き込みできそうなとこがなかったので…
運が良けりゃ、たまに偉い人が教えてくれたいいな~(なんて)。
それがダメでも、初心者同士で意見交換や情報交換などができれば。
- >>1
こういうスレは誰か(普通は>>1)が率先して引っ張る必要があると思われ。
2ちゃんねるブラウザ系スレ見てみ。あと日本語化スレとか。
それができないと
http://pc.2ch.net/test/read.cgi/mac/1003677752/l50
みたいになるから気をつけろ。
良スレ目指して頑張れ。
- まだ私は
http://developer.apple.com/ja/techpubs/pdf/DiscoveringOPENSTEP-J.pdf
を読んで勉強してる段階です。 (汗
明日、大きな本屋さんで「はじめてのMacOS X Cocoaプログラミング」買ってこよう。
そのうち頑張って初心者の質問に答えますよ!(願望か妄想か…)
(もうちょっと勉強してからスレッド立てるべきだったよホ)
- >>11
ほんとうに「さっぱり」なあたりが(・∀・) イイ!
漏れも一から勉強しなおす気になったよ。頑張りましょ。l
- >(もうちょっと勉強してからスレッド立てるべきだったよホ)
そんなの関係ないよ。そんなルールないよ。
- 本持ってなくても何かできるんですかね?
Devツール入れると。だったら入れてみたい気もする。
アンインストールも簡単にできるんでしょうか?
もしかしたら「さっぱり星人」な俺でも意欲が湧いてくるかなと思って。
あ~サッパリサッパリ
- >>1
おお!なんかほっとするスレ。
ワシも「割り勘プログラム」まではなんとか…、そのあと、
「『M-V-C』にも挑戦してみよう。」ってあたりで、雲行きがあやしく…。
よく分からなくなって来た。普通の人ならチョチョイなのかもしれんけど。
今「はじめてのMacOS X Cocoaプログラミング」で1から勉強中。
お互いがんばろーぜぃ!
- みんな、Objectiv-Cでやってるのね。
Javaで始めましたって人いないかなー
- 何をどうすればいいのか分からないけどDEV.TOOL入れてしまった。
- 1には自分の環境とかやってることとかHP起ち上げてのっけて欲しいな。
それをまねするから(w
- >>14
やはり本がないと苦しい。
http://www.big.or.jp/~crane/cocoa/
が参考になる。色がきついんだが(w
- みんなCの基本的なところは理解してる?
そうでないとObjective-Cはわけわかめになっちまうぜよ。
簡単なCの入門書を買いに本屋へゴーだ。
そこんとこクリアしてるみんなは広文社の荻原本を読むべし。
- 今でている中では
中村さんの「はじめてのMac OS X Cocoaプログラミング」
が最も良い。
と思う。(細かいところでケチつけたいところはあるが
この分野では本が少ないから、ほかに選択が)
- >>21
昨日買っちゃった!
まだちょっとしか読めてないけど、イイよ。
- >>22
俺も買ったよ。
SimplePaint動かしたときにゃ、感動したよ。
- どこにも載ってないんだけど、NSTextView に
横スクロールを付けるにはどうしたらいいんだろう?
- > 簡単なCの入門書を買いに
日下部の本はやめておけ(プログラマー板参照)
- >>24
/Developer/Examples/AppKit/TextSizingExample/
はどう?
- >>19
ありがとう、やっぱりそうか。
Cocoaはやっぱり!も見てみるよ。
みんなが薦めてる本も探してみよう。
>>20
かなり昔に専門学生のころにちらっとだけやったことあるんだけど。
陳腐な家計簿ソフトなんか作った。
環境が全然違うし、サッパリ記憶喪失になってるけどやったら何とかなるかなぁと思って。
- >>16
ここは?Cocoa-Javaらしいけど初心者だってさ。
ttp://www.infoatmackers.jp/
- うわ~、人がたくさん居るよ! (涙
今日やっと「はじめてのMacOS X Cocoaプログラミング」買ってきました。
「Cocoaはやっぱり!」もWebより詳しくて良い感じでした。(鶴薗さん、今度買います。)
でも、水曜日まで触れない…
>>16
解説してらっしゃる方がObjectiv-Cばっかりですからね。
私みたいに真似からはじめる場合には、そういったページのやり方に従う他ないし。。。
>>18
もし誰かの参考になるのならホームページ立ち上げてみてもいいかもしれませんが、
ホントにプログラムは全く何も知らないので、あんまり意味ないかも。。。
>>24
どこにも載ってないですね。
/Developer/Examples/AppKit/TextSizingExample/
のプロジェクトをどうやったら使えるのかもまだ解らない段階ですし。。。
- あー、XREA取ったけどもてあましてるから
提供したい気分。>>1
#つーか漏れがやろうかな
- >>30
私に提供せずに是非ともやって下さい~
私もたぶん(へっぽこ)ホームページ作りますけど、
ちょっとでもできる人がページ作った方が効果的なのは当の然ですよ。
- >>1(>>31)
ワシは「できない人」だし、やるとしても
OpenFirmwareに手ぇ出したりForth処理系作ったりと
変則的なことばっかやるので役に立たんのです。
やっぱここは>>1さんが…ハァハァ
- >>20の方も書かれているが
広文社「MacOS Xプログラミング入門Objective-C」萩原剛志著
もかなりおすすめ。
「はじめてのMacOS X Cocoaプログラミング」
も持ってるが俺は前者の方が見る頻度が遥かに高い。
特に頻繁に使うであろうクラス(NSString、NSArray、NSDictionary、NSValue等)
の機能を詳しく解説してある。これのおかげで
かなり助かってるよ。
- >>19のサイト落として、見ながら少しやってみた。
やっぱ面白い。本買おうかな。
Cの入門書もあったほうが良いのか。
家で探しても見当たらなかったし。まぁ、マターリやってみようかな。
- >>24
遅レスでスマソ。
NSTextContainerのsetWidthTracksTextView: を読んでみ。
このへんは理解するのが、けっこう難しい。
とりあえず、
NSText(NSTextView)
NSLayoutManager
NSTextContainer
のAPIドキュメントと、
/Developer/Documentation/Cocoa/ProgrammingTopics/TextOverview.pdf
に、ざっと目を通しておくといいよ。
- >>24
一応、サンプル。
_textView --> NSTextView
_scrollView_ --> NSScrollView
にIBでつないでおいて。
//------------------------------------------------------------
[_scrollView setHasHorizontalScroller:YES];
[[_textView textContainer]setWidthTracksTextView:NO];
[_textView setVerticallyResizable :YES];
[_textView setHorizontallyResizable : NO];
[_textView setAutoresizingMask : NSViewNotSizable];
//------------------------------------------------------------
これで、ならない?
- >>1さん 遅ればせながらありがとう
自分にもちょうどいいスレでうれしい!!
こないだ、Cocoやぱのページ全部プリントアウトしたよ。
もちろん背景はプリントしないにチェックで(笑
途中まで寝転びながら読んだところで、まだ手は動かしていないけど・・・
- >>37
手を動かしながら学習しませう。
それがプログラミングの勉強の基本です。
かといって、右手を上下に動かすのもいけ(略
- 漏れ、Cの本って「C言語ポインタ完全制覇」(前橋和弥著、技術評論社)
しか持ってない…。
なんにせよ、Cの知識は絶対必要になってくるので一冊くらいは持っていた
ほうが良いと思います。
漏れはそこをさぼったので苦労してる(w
- >>38
はげどう。
サンプルソースは全部、手で打ち込むこと。
コピペはだめだよ。
わからないときはデバッガで一行ずつ追いかけたりする。
さらに高等テクとしてソースをいじくったり削除したり
して、どう変化するか確認するとベターだよ
- >>39
おぉ。n_kiteさん。iTteyoshi使わせてもらっています。いつもどうもです。
ワシはC言語はアスキーの「C言語入門」(まんま)で勉強してます。
Lispプログラマーだったんで、C (ObjC) 使ってると全部括弧でくくったり
全てのデータをポインタで表したくなってきます。もうだめぽ。
>>40
ですな。
- >>38,40
どうも。もちろんそれは承知してます。
Objective-Cというのは初めてなんで、ざっとでも
(せめて書き方の流儀ぐらいは)わかっていないで
いきなりソースを書き写しても覚えられないですからね…
Cは以前少し勉強したので、
前にRealbasicのプラグインを試しに作ったことがあります。
インターフェースの部分はRBにまかせて
自分のやりたいこと作るのに専念出来たので面白かった。
Cocoaにもそんな期待をいだいてよいものなのかな?
- X68000のX-BASICとJAVA Scriptを経てCocoaではじめて
Cに触れておりますが。
何て使いやすいんだ・・・。
- このスレをきっかけにCocoaにマジで取り組んでみる。
プログラム板見ると、Javaって意外と将来性がないようだし、
C+ObjectiveCで勉強したほうがいいのかなと思います。
しかし皆さん、どんなソフトウェアを開発するんでしょうか?
- Objective-Cはそんなに恐れるほど拡張仕様はありません。
一週間もあれば覚えられるとか、いや半日もあれば、とか。
Javaを覚えるよりも楽です。もちろんC++とは比較するも恐ろしいほど楽です。
- 基本的には、C言語に、メッセージバッシングと後なんかを
付け加えた言語すね。<Obj-C
一応、その手の会社で仕事してますが、Obj-Cに慣れると
他の言語がカナーリきついっす。
- >>44
逆に言うとObjective-Cに将来がある?
ま、Appleが生き続ければそうなんだけど、
他のプラットフォームでObjective-Cを推奨している
ところってないでしょ?
Cocoa-Javaだったら、Pure Javaに逃げる道があるん
だから、そっちの方がスキル的にはいいんじゃない?
- このところ、WebObjectsがトテーモ気になるんだけど、
javaなんだよな…。前はObj-Cだったのに。
CocoaからWOに行くつもりだったのに…。
- つーか、言語の乗り換えを恐がるんだったらプログラミングをするなと言いたい。
- 「cocoaはやっぱり」を買いました。
消費税入れたら約4000円。
スナップショットの少なさ、誤字脱字、言い回しの分かりに
くさなど・・・本当にこれで、理解できるのか心配になりま
した。
半分しか使ってないページとか結構あるし。ウェブ版の更新
に期待します...。
- 本屋の棚を見てるとC言語にはCとC++とC#があるようですが、
C++とC#って何て発音するんですか?(Cはただ「しー」でよさそうだけど)
関連スレじゃこんな初心者質問ムリそうなのでココに書きました。
- >>51
C++ → シーインクリメント
C# → シーシャープ
- ぷらぷらだと思ってた。>C
- ありゃ、ぷらぷらガ表示されてない。
- >>52
どうもっ。胸のつかえが取れた気分です。
これで本屋でも他のスレ読んでても脳内で発音できます。
さて、参考書でも買ってきてC言語のお勉強始めようかな。
"バカでもわかるC言語"みたいなのがあればいいんだけど。
はぁぁ、Cocoaまでの道のりは遠そう…。
- 私もちょっくら合気道とプログラミングに興味はあるんですが、
OS Xで始めようと思ったらObjective-C(Cocoa?)がセオリーなんですよね?
んで、Obj-Cを順よく理解するためにはCの基本を知っておかないと駄目、と。
でも、前の方がおっしゃるように、プログラミングってただ参考書を読むだけじゃなくて
サンプルのコードを打ってみたり、いろいろと実践が必要でしょう? 恋愛と同じで。
だとすると、Cの本を読みながら、OS X上でそういったコツコツした事を
やらないと進めないと思うんですが、果たしてOS XでCの修得って可能なのですか?
初歩の初歩からノロマなスピードで一緒に勉強できるようなサイトを
どなたかが作っていただけるのなら、ぜひとも参加させておくんなまし。イソイソ...。
- >>56
Cの習得は可能。むしろOS 9やウィソよりはよっぽど手軽に
勉強できるよ。
Project BuilderでCのプログラムを作ることもできるしね。
新規プロジェクト->Standard Toolを選択。
- 初めての((^_^)/シー
- >>56
>ノロマなスピードで一緒に勉強できるようなサイトを
それいい。参加したい。
教える立場じゃなくて、一緒に模索していこう。って感じなら
僕が作ってもいいんですけど…今ヒマだし。
つーか、とりあえず別スレでやった方がいいかな?
【めざせCocoa!】Mac OS Xで始めるC言語:超初心者用スレ
みたいな。
- >言語の乗り換えを恐がるんだったらプログラミングをするなと言いたい
同感。どっちかというとAPIやクラスライブラリの学習のほうが
よっぽどしんどい。言語の問題なんて、ちいせえちいせえ
- C++って、シープラスプラスで通じると思う。
それと、C#はCなのかと問い詰めたい。
- > C#はCなのか
全然、違いますけど
- オレ、システム開発やってるんだけど、ソフト業界ではC++は「シープラプラ」と
発音してるよ。
いま、「MacOS X Cocoaプログラミング」読んでます。
昔、ネクストステップで勉強がてら簡単なアプリを作ってたんだけど、
ネクスト社がアップルに買収された時点で知識を封印。で、忘れてしまった。。
CocoaやるならCの知識は必須だね。C++とかでオブジェクト指向の概念が
分かってればなお有利。
まあ、一番難しいのは、なんのソフトを作るか、なんだけどね。
- すいません。Cocoaのことで質問なんですけど、
NSOutlineViewのOutletにDelegateがなくて、
項目をクリックした時に何か動作をするというのができません。
どうすればいいのかわかりますか?
厨房的な質問でスマソ。
- すいません。質問なんですけど、
NSOutlineViewのOutletにDelegateがなく、
項目をクリックしたときに何か動作をするというのが出来ません。
誰か教えてくれると有り難いです。(根本的に間違ってたらスマソ)
- ああ~二重書きしてしまいました。
本当にすいませんでしたsage
- >>65
おそらく、外側のNSScrollViewを選択しているとおもわれ。
何回かクリックして、infoパネルのクラス名を確認してみ。
- プログラマー板で質問したけど、あそこ
日下部とか近藤とかいう人が荒らしていて
むちゃくちゃでレスがつかなかったんで、ここで再度。
Cocoaだけど、
HELPの実装なんてどうなってんの?
見たところヘルプメニューがshowHelp:をファーストレスポンダに送って
たぶんアプリのshowHelp:メソッドを呼ぶことになってんだけど、
で、アプリ側でどう対応するわけ?
itWatchというフリーソフトのソースを見ると、ヘルプメニューと
NSObjectを継承した別のオブジェクトを接続さして、
そっちのオブジェクトのshowHelp:メソッドをたたいていて、
その中は直接、Help Viewerを呼ぶようにしているみたいだけど。
- >>67
たしかにNSScrollViewを選択してました(藁
どうもありがとうございます!
- >62
それを51に伝えてやってくれ
- とりあえず八重洲のブックセンターに行って、
「新C++言語入門:ビギナー編」というのを買ってきてみました。
チョイスの理由は、明らかに初心者向けだったのと、DOS前提じゃなかったこと、
比較的新しい文献だったこと、あと"ベストセラー"って書いてあったから。(^_^;)
この時点で大間違いじゃなきゃいいんですけど…。
で、>>57さんに言われた通りProjectBuilderを開き、
本の一番はじめの"Hello, C++"と表示させるコードを打ってみました。
動いた!う、嬉しい。初めてHTMLでリンク張れたときみたいな気分。
無事C++の第一歩を踏み出したようです。
で、気付いたのですが、こんな簡単なコードでもC++ Toolじゃないと
(Standard Toolだと)動きませんよね。
ということは、CとC++っていうのは根本からかなり違うものなんのしょうか。
Cocoaに辿り着くには、いずれCについても別に学ぶ必要あり?
それと、できたプログラムをProjectBuilder以外の何か(Tarminalになるのかな?)で
実行するにはどうしたらよいのでしょうか。
うぅ、アホな質問ばっかですみません。
どれくらい恥ずかしい質問してるのか自分じゃわからない…。
>>62,70
了解です。
- ひょっとして林晴比古のやつですか?(^_^;
正直言って外れです。
今からでも遅くないので柴田望洋の本にしときなさい。
#ちなみにCとC++は大幅に重なる部分はあるものの、別物です。
#Objective-Cは前者にSmallTalkの要素を付け加え、
#オブジェクト指向言語として拡張したものです。
- さらに付け加えるとC++はCをObjective-Cとは別のアプローチで拡張したものです。
Carbonでのプログラミングはこいつでやることになりますが、
正直言って私はお近づきになりたくないです。
- >>71
えーと、そのC++じゃないと動かないコードというのは、
cout << "Hello World\n";
みたいなやつですよね?
このコードはC++で拡張された機能を使っているのでC++じゃないと
動かないんですよ。
で、CだけでもHello Worldを表示する方法はあります。こんな風に。
printf("Hello World\n");
って、PBでStandard Toolプロジェクトを開くともうmain.cに
Hello Worldプログラム書いてあるじゃん!(^
- >>72
そうです。林晴比古と書いてあります。ハズレでしたか…トホホ。
Amazon.comで柴田望洋検索してみた所、
いろいろ出てきましたが、これのことでしょうか?
http://images.amazon.com/images/P/4797311517.09.LZZZZZZZ.jpg
(つーか表紙だけじゃわかりませんよね。スマソ。)
>>73
んん?つ、つまり実際Cocoaで使うのはC++だけど、
これからプログラミング始めるような人にはオススメでないよ。
ということでしょうか?
ちなみに始めようと思った理由は、特に「将来のスキルにしたい」とかではなく、
趣味で何かMac OS Xで動くものが作れたらな、という程度なのですが。
そういうことではなくて?
>>74
>cout << "Hello World\n"; みたいなやつですよね?
その通りです。
>って、PBでStandard Toolプロジェクトを開くともうmain.cに
>Hello Worldプログラム書いてあるじゃん!
あ、それくらいは見て理解できましたよっ。
- >実際Cocoaで使うのはC++だけど
Cocoa使えるのはObjective-Cとjavaだけです。
- >>75
ノー!ノー!(オレは73ではないが)
cocoaで使うのは「基本的には」Objective-C!
(もちろんC,C++,Javaも使えるが)
なので結論からいうと、Objective-Cをマスターしよう!と考えるのが吉かと。
で、その為の方法としては、Cの勉強から入るのが近道かもね!
というのが今までの話の流れです。
>>72,73さんと重なるけど、
Objective-CはCが分かれば比較的マスターしやすいとか…。
C++は普通のプログラマの人でも、できれば敬遠したいというかなり複雑なものらしいです。
それぞれ流れはあるものの、全く別物と考えてもいいらしいとか…?どうなんだろ?
もう目は通しただろうけど「cocoaはやっぱり」のページに
簡単なObjective-Cについての説明が載っています。
ttp://www.big.or.jp/%7Ecrane/cocoa/
- オンラインのやっぱりを見て遊んでみたけど、結構面白い。
1割も理解できてないけど。
まぁ、積み木を組み立ててよろこんでるようなレベルだな。(w
ウェブ見ながら作る(っていうか打ち込む?組む?)のは面倒だけど(広い画面が欲しくなるよ)
一通りやっぱりで遊んでみるよ。馴染んでくると思うし。
- Objective-C、C++、JAVAのいずれを学ぶにせよ、
Cの基本的な知識は役立つ。
まず、Cの基礎を押さえておくのが吉と思われ。
で、Cocoaを学ぶつもりならば、Objective-Cがベストであろう。
JAVAの方がマイナーなObjective-Cよりもつぶしが利くと思ったら
おお間違いと思われ。
他でのJAVAとCocoaのJAVAは作法がかなり違ってくるし、
結局はAPIがものを言う世界だから、Cocoa上でのJAVA経験は
必ずしも通用しない。
- Cocoaはさっぱり!なのに、いきなりテキストエヂタを作ってみようとする俺はアフォですか?
Cocoaはやっぱり!は参考にしつつ...ってーのがいいかな、と思ったのですが...
- うん、その本。
プロのプログラマ何人かに聞いてみたけど結構評判いい。
あとオライリーから出てる"Practical C Programming"(邦題忘れた)とか
ダイテル先生の本を薦められた。<Cの入門書
日本のものだとほかには前橋和弥さんの本が評判いいみたい。
- >>68
ちなみに、オレは試してないけどさ。
NSApplicationのAPIドキュメント(showHelp:)と
NSHelpManagerをざっと読んだ感じでは、バンドルに
含めたヘルプファイル(html,rtfとか)をinfo.plistで指定
しとく、とかそんな感じじゃねーの?
アプリ側で対応というより、フレームワーク側で面倒みる、
ってこと(<になってると楽でいいね)
- で、Cの基本を押さえたあとREALbasicをいじってみたら
以前判らなかった使い方まで理解できるようになってたんだな、なぜか。
プログラミング言語は複数知っておいたほうがいいということなのかもしれない
・・・って、このスレと関係ないか。
- >>80
アフォじゃないよ。「Cocoa+Java」という本を読んでごらん。
めちゃ簡単にエディタができてしまう。
ただ、自分独自のエディタを作りたいと思ったら
そこからイバラの道だけどね。
- >>84 Javaすか!
できればObj-Cがいいなあ..と思ってるんですが、どでしょ?
- >>85
84でもないし、「Cocoa Java」も読んでないけど。
「Cocoaはやっぱり!」にもNSTextViewを貼り付けた
簡単なエディタのサンプルがなかった?
たぶん、84の言ってる「簡単な」ってのはそのレベルだと。
- 違う、違う、Javaにしなくてもいいよ。 >>85
そうそう、そういう意味 >>86
- 中村さんの「はじめてのMac OS X Cocoaプログラミング」
の第10章にもエディターがあるな
- >>88
やっぱ、あのへんはInterface Builder触ってて一番わかりやすくて
感動させる効率のよい部分だから。
Interface BuilderでNSTextViewを置いたウィンドウと同じものを
すべてコードで書くと、また別の意味で感動する(藁
- 「Cocoaで作るMacのGame」
とかいう参考本でないかなぁ。( ´ー`) < 米国ニハ アルンダケドネ…。
- 丁寧なレスありがとうございます>みなさん
>>77
つまり、CとObjective-Cはある程度関係あるもので、
C++はその二つと比べれば別のもの。
で、Cocoaに使うのはObjective-Cだから、まずCを勉強しなさい。
間違ってもC++ではないですよ。…ということでよろし?
なんか出だしから間違いだったぽいぞ>俺
>>79
JAVAは興味を抱いたことがないので何も知りません。
挑戦してみることはないと思うので安心(?)してください。
>>81
了解です。それではあの本にしてみます。
"Practical C Programming"というのも見かけたと思います。
「へぇ~、洋書の翻訳本まであるんだ」と思ったので、おそらくそれかと。
と言うことで、まずはあした本を取り替えてもらいに行ってきます。
これからもトンチンカンな質問を連射すると思いますが、
どうぞよろしくお願いします。
それでは。
- Cocoaはさっぱり、モリナガ~♪
- Objective-C = C + SmallTalk(味付程度)
C++ = C + 超巨大な何じゃこりゃな拡張
- そういや真紀俊男さんがCocoa本の準備をしてるっつーうわさがあるな。
- C++も、Cとは密接な関係を持つし、まったくCと同じように使うことも出来るんだけど、
Cでない部分にハマリ始めると泥沼の傾向がある。
- >>94
真紀俊男さん、たぶんこのスレに2つ程書き込んでいるyo!
- さっき初めてプログラマ板見に行ったんだけど、void氏
のカキコって本物が来てるの?
うーむ、信じられん…
- いろいろ言語のことでレスされてるけど、一番大事なのは言語自体を
覚えるということより、「プログラミングの概念」を覚えたほうがいいよ。
で、言語は概念を覚える手段のひとつ。
プログラミング初心者にはCがお勧め。そんな難しくないです。
で、C++は「オブジェクト指向の概念」を覚えるのに役立つ。
まあ、Cとあまり変わらないけど。関数の記述が多少違うのとか、
純粋仮想関数の概念があるとかくらいかな。
OS XでCを覚えるなら、普通にUNIX(Terminal)環境でソース組めばいいよ。
- >>98
で、C++は「オブジェクト指向の概念」を覚えるのに役立つ。
C++のオブジェクト指向の考え方はかなり偏ってるから薦められないなあ。
C++をするくらいなら、JAVAを学んでもらいたいところ。
- 今だ!100ゲットォォォォ!!
 ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ (´´
∧∧ ) (´⌒(´
⊂(゚Д゚⊂⌒`つ≡≡≡(´⌒;;;≡≡≡
 ̄ ̄ (´⌒(´⌒;;
ズザーーーーーッ
っつーか、Cocoaはやっぱり!にアクセスできないのは洩れだけですか?
- あなただけのようです。
- と、言ってはみたものの、見れてません。
- >98
>OS XでCを覚えるなら、普通にUNIX(Terminal)環境でソース組めばいいよ。
でも、Terminalって日本語使えないんですよね。
ローマ字でやるのかな?
- <98
たしかに文法的にはCはそんなに難しくないですよね。
でもいざアプリを作ろうっていうことになると、
どんなのから作り始めればいいのか、コードは何行くらい
が普通なのかなど、なかなか先に進めません。
とりあえず、ゲームのソースなど見つけてきて勉強しようと
思っています。
- >>103
JTerminalを使うべし。
- >>104
まだゲームは無理
もっとはるかに簡単なものから始めよう!
- >>CocoaYApply
index.shtmlが壊れてる漢字。
warikan1.htmlとかはアクセスできました。
- きのうの本、「明解C言語:入門編」に取り替えてきました。
著作の案内を見ると「入門編 例解演習」というのもあるようで、
きっとそのうちそちらも必要になりますね。
ひとまずこの本を見ながらいろいろ試して学んでいこうと思います。
Cocoaへの遠い道のりを再出発です。
>その後レスしてくださったみなさん
不精ですみませんが、まとめてありがとうございます。
- age
- CocoaのHTMLエディタほしい~誰かつくって~、とかつぶやいてみる。
だって海外のソフトをOsakaフォントで使っても、イマイチ使いにくいんだもん。
- >>99
オレ、C++やってるけどJAVAはやってない。
やっぱ、JAVAも覚えたほうがいいかな。
>>103
今の時点では、日本語は使えないですね。
なので、日本語の文字列を使わないで、プログラミングというのを覚えるために
簡単なソースコードを書いてコンパイルして実行、という一連の作業の確認等は
出来ると思います。
>>104
いきなりでCアプリを作るっていうのは、難しいですよね。
OS Xでアプリを作るなら、やっぱり本を読みつつCocoaで作るのが
一番だと思います。
- はじめてのMac OS X Cocoaプログラミング
オークションで安く落ちてないかな...
- >>110
mi使えばいいんじゃない?
違う質問だったらスマソ
- Cocoaはやっぱり森永
- ここ行った?
ttp://www.dynamicbind.co.jp/CocoaBook/
- >>108
その本はよさげですな。明日見てこよっと。
このスレ読んで、ちょっと低下気味だったやる気が復活したYO。
Cocoaはやっぱり!やADCにあるドキュメントを読むとオブジェクト
指向についてはよくわかるんだけど、「で、各々のオブジェクトはどう
作る?」てところでつまづいて、今はCやってるとこ。
会社のプログラマがくれた「プログラミング言語C 第二版」でやってる。
割とわかりやすいけど、訳文が硬くておすすめできないです。
前からperlはやってたけど、C始めてから、なんでperlが簡単って言わ
れるのか痛感したYO。
- サゲ進行の方がいいのかな・・・。
>116
K&Rは原書の評判は抜群なのですが、邦訳は語訳が多いっす。(^_^;
- age
- ところでアップルはなんでドキュメントの邦訳をしないの?
アップルが当然するべき仕事だと思うのだが。。。
- 英語も読めない奴はHyperCardでもいじってろってこった
- あ、このスレの初荒し。
- 新バージョンのDevTools出てるね。
- >>122
どこで落とせるんですか?
https://connect.apple.com/つながらないみたいですが。
- http://connect.apple.com/では?
- おや、ついさっき落としたところだよ?<connect.apple.com
とりあえず、AppleScript Studioがどんなものかみてみよう。
- >>124
あ、入れました。ぬりがとうございます。
- しつもーん.
NSViewクラスを継承しているオブジェクトを,なんかのきかっけで
画面上から見えなくして,またべつのきっかけで見えるようにする
のはどうやればいいの?
どっちのきっかけにも最後にsetNeedsDisplayを使うのは分かったんだけど
その前に消す/戻すの処理しなくちゃならないよね.
Obj-CでもJavaでもどっちでもいいす.
- >>127
そのViewのサブクラスを作って利用するのが一つの方法かな。
まずインスタンス変数としてBOOL型のフラグを追加し、そのフラグを
操作するメソッドもあわせて追加する。
で、-drawRect:をオーバーライドして、そのフラグがTRUEのときは
何もしないようにすればよい。
- >>128
レスありがとうです.
そうすると,NSViewクラスを継承しているオブジェクトを
Interface Builderで配置した場合はどうすればいいです?
書きわすれてすいません.
オーバーライドって,Interface Builderで配置した場合
無理くさいです.
- >>129
あー、Interface Builderでありものの部品を配置した場合はそりゃ無理です。
128のやり方というのは、それらのサブクラス、例えばNSImageViewのサブクラスを
作って、カスタムビューとして配置することが条件なので。
でもってこのやり方って実はInterface BuilderからViewの設定ができないという
不便が伴う諸刃の剣、初心者にはおすすめできないって代物なんですよ(w
- >>130
すっきりしました!本当にありがとうございます.
そうかなって思ってたんですけど,確証なくって.
さ,一歩前進だ!
- 単純にカスタムビューを一個おいて、カスタムクラスとして設定すればいいんじゃないの?
ビューのサブクラスは問題なく配置できるはずだけど。
- >>132
>>130はたぶん、Info Panelで各種属性を設定できない、
と言ってるんじゃないかな?
でも、それなら、普通にNSImageViewを配置して、
Info Panel → Custom Classでサブクラスに変更
すれば、各種属性も設定できるけど。
- それと>>127は単純にsuperviewからaddSubview,
removeSubViewを繰り返したんじゃ駄目なの?
- >>130
ほんとだ。その方法で設定できる……。
すいません、逝ってきます。
>>134
その方法でいいと思います。
付け加えるなら、removeSubViewする前にviewをretainして、
addSubviewした後にreleaseする必要がありますね。
- どなたか初心者用のホームページ作成中の方、いらっしゃいますか?
- >>136
初心者ってどの程度のレベル?
現時点ではむしろ、中~上級者向けのページ・・・というと語弊があるけど、
もう少し突っ込んだ内容のページが欲しいとこなんだけど。
Appleのドキュメントも更新されたし、これからか。
- 135はにせものです.
>>134
すいません.おしえてください.IBで,
MaiMenu.nibパネル(左下に表示されるやつ)でNSViewを継承している
なんかのクラスを選択して,そこにサブクラスを
つくりますよね.そうするとShow InfoのパネルでOutlet,Actionを
追加できると思うんですが,ここでNSViewのstaticメソッドと同じ
名前で登録すればオーバーライドできるんですか?
- >>138
何か根本的な部分で勘違いされてるようですが・・・。
NSViewのAPIドキュメントにじっくり目を通してください。
それとPBとIBのドキュメントも。
Cocoaでプログラミングするのなら、ツールとフレームワークに
対する最低限の理解は必要です。
- 勘違いじゃなくて,聞いてるんですよ.
で,勘違いと言うならどこが?
それを書いてね.
- >>138
140は138にね.
- 135は128の間違いね。
>>138
IBでActionを追加することはメソッドをオーバーライドすることとは違います。
オーバーライドするには、ソースを出力してPBの方でコードを書き加えるしかありません。
- >>25
禿胴
あの日下部を知っているやつが、あの日下部の本を買うとしたらマゾだな。
- >>140
だから、勘違いしてる人に聞かれても、質問自体が見当違いで答えようがないんだって。
>>142の言ってるように、Actionの設定はメソッドのオーバーライドじゃないし、
そもそも、>>134でオレが書いた内容を実践するのにメソッドをオーバーライドする必要はないでしょ?
とりあえず、ドキュメント読みなよ。英語も高校生レベルだ。
- >>144
だからね,メソッドのオーバオライドがActionの設定でどうとか,
する必要かどうかなんて聞いてないの,分かる?
オーバライドの仕方を聞いてるの.
知らないなら反応するなっての.知ってるなら答えれ.
- >>だからね,メソッドのオーバオライドがActionの設定でどうとか,
オーバライドね.すまん.
とにかくしらなきゃ,ドミュメント見ろとか言うならかまうな.
- なんかギスギスしてきたな……。
もう少し言葉を選んだ方が良いと思われ。
>>メソッドのオーバーライド
Objective-CでもJavaでも、サブクラスで祖先にあたるクラスが持っている
メソッドを再実装すればオーバーライドされますが。
- >>147
スレの雰囲気を悪くしてしまった、スマソ。
これから気をつけるよ。
- sage忘れ。
- >>127
横からすみません。
viewのretainというのはどのようにして行うんですか?
もしくは、どのへんのドキュメントを見ればだけでも
教えて下さい。
- >>150
ちなみにこれはObjective - C( Cocoa)での話です。
Java-Cocoaの場合は関係ありません。
viewのretainといっても、普通のオブジェクトのretainと同様です。
IBのoutlet(=インスタンス変数)にコード中で
[hoge retain];
としてやるだけ。
retain, release, autoreleaseなどはCocoaではオーナーシップという
考え方に基づいています。
これそのものについては「Cocoaはやっぱり!」オンライン版にも
5-4で解説されています。日本語でざっと理解してから、他の参考文献や
Appleのドキュメントに当たるといいでしょう。
[Apple: Programming Topics]
http://developer.apple.com/techpubs/macosx/Cocoa/TasksAndConcepts/ProgrammingTopics/MemoryMgmt/index.html
/Developer/Documentation/Cocoa/TasksAndConcepts/ProgrammingTopics/MemoryMgmt/index.html
- ageます
- 昔、子供向けのプログラミング(というオーサリング?)ソフトで
Cocoaというのがありましたが、それとは全く関係ないのでしょうか。
- ×という
○というか
- 全く関係ありません。
- 遠回りかもしれませんが、C言語の基礎から勉強してます。
「はじめてのC言語 完全入門」塚越一雄著
はやくCocoaアプリ作りたい~
- >>156
基本的な構文覚えたらとりあえず付いてくるサンプルいじってみたら?
もちろんCの勉強も大事だけど、そればっかりやってるとつらいでしょ。
- このスレがさっぱりさっぱり状態だな。
- ファイルとして存在する画像を縮小してNSImageに乗せたいんですけど
既存のNSImageとかNSxxxImageRepだけで出来ますか?
縮小ってのは、縮小表示するんじゃなくて、
実際にサイズを縮小させてメモリ使用量を減らしたいんです。
- >>159
image = [ [ NSImage alloc ] initWithContentsOfFile:path ];
[ [ image bestRepresentationForDevice:nil ] setSize:size ];
newImage = [ [ NSImage alloc ] initWithSize:size ];
[ newImage lockFocus ];
[ image compositeToPoint:NSZeroPoint operation:NSCompositeCopy ];
[ newImage unlockFocus ];
[ image release ];
こんな感じでどうだろう。
新たに縮小後のサイズのNSImageを確保してそこに縮小した
画像を描画し、元のNSImageは解放するというやり方だけど。
- ええい、アクションゲーム自作が夢なのだが、誰かWindowsで
HSPしか触った事の無い厨房でも解る、でべつーるでのゲーム
作成方法教えて下さい。
夢は置いとくとして、
1:貴様らの場合javaとobjective-cのどっちを
俺様にお勧めしたいと思われますか?
広文社:萩原さんのObjective-Cだけじゃ解らんぜい畜生め。
CについてはANSIを学んだが実績はない。
第一目標はマスクのついたアイコンキャラクターをカーソルで
動かせるところまでが目標なんだ。参ったか。
2:互換性取るとGLUTがいいとか聞いたけど、OpenGLって
2Dゲームに十分と思われますですか?つかネットでいろいろ
配付されてるGLUTソースもコンパイルできない厨房は
どこからはじめればいいですか?
3:教えて君な俺は以後カキコ禁止ですか?
まぁsageられたらとりあえず今月のバイト代でかたっぱし
本買ってやる畜生。
- >>161
とりあえず、無理をしないで
MAC用のHSPをやったらいいんじゃない。
- >>161
一番早いのは、まねることです。
ソースを公開してくれているアプリを片っ端から集めてきて、
まずは改造。そして、改造。一番目的に近いものを改造。
で、オリジナルアプリ作成に取りかかる。
サンプルが全てだよ。はじめから一からできると思うな。
ましてや、Cの経験がないのなら、なおさらだ。
C,C++知っていても、全て作ろうなんてかなり困難だぞ。
- >>162
>>163
お前らレスありがとうございます。
ソース探索はしてますよー。
MAC版HSP、色々いじくってます。なかなかいいっすけど、
このスレに書いた以上はCocoaでCにチャレンジしたい気分。
初めて手に入れたC及びJAVA開発環境…。
日曜プログラマーと名乗れるところに行きたいのもあるので
やっぱり本漁った上にデベツールのドキュメント全部翻訳に
かけた上でiTunesで再生します。
日本語ドキュメント、早く揃わないかなー…。
#厨房発言ついでに他機種GLUTソースのコンパイルの手順
ことこまかに解説してくれる方を激しくキボンしてみたり。
- OS Xゲームのソースで発見したやつ、レスへの感謝の意を込めて
URLをウプしときます。
Maelstrom 3.0
ttp://www.devolution.com/~slouken/Maelstrom/index.html
サパーリわからん。いずれは目標に掲げたい名作ですが。
しかしこれ、LC575使ってた我が少年時代にもあった作品だなぁ。
Winに浮気してG4に戻ってきてみてまだ存在するとなんか嬉しい。
フレームワーク見る限り、Cocoaみたいなんだけど…。
Glypha III 1.1b2j
ttp://www.kit.hi-ho.ne.jp/isshi-/macx/
を、これは参考になるかも…!?
…Carbonか。スレ違いだし。
皆!参考になりそうなソース探してどう読めばいいか話し合おうyo!
- CodewarriorでGLUTをやったときはそのままで
実行できたと記憶している。
あと、これを張っておく。
http://www-nishilab.sys.es.osaka-u.ac.jp/~sonson/gl_mac/mac_top.htm
もう、見ているかな?
- お、いいですねぇ。ブックマークさせて頂きました。
僕は今しがた、
http://www5a.biglobe.ne.jp/~yu_yoshi/gl_mac/glut01.htm
を発見して試してるところです。
ふにゃー、いいかげん眠いです。けど眠れねーなこりゃ(藁
- >>165
MaelstromはSDLっていうクロスプラットフォームなライブラリを使ってるね。
よって微妙にスレ違い、かな?
今のところCocoa製のアクションゲームってこれしか知らない。
http://128.253.163.105/zeroflux/solarwar/
ノベルゲームエンジンで良ければ二つほどソース公開してるのがないこともないが。
- …おなじ人のページだったみたいですね、俺の挙げたURL。
疲れだ、眠ろう。明日はバイトだし…。
- >>161
口調も諦めずに続け通せ、コノヤロウ
お願いします
- >>160
亀レスすみません
なるほど、勉強になりました。
早速試してみたいところですが、別口で予期しないオートリリース食らっちゃって
デバグ中です。
直ったら組み込みます。
ありがとうございました。
- >>170
いいかげん厨房臭いかと思いまして。いや、お願いされれば話は別
だがなこの野郎様。正直どこで不用意に怒りを買うか解らない口調
には生産性がないだろうが。へっ、いい歳こいてご指摘ありがとう
ございます。
Cocoaのソースってなかなか見つからないもんですねぇ…。
只今英語ドキュメント解読中。なにか作れるのはいつの事やら。
- >>168様
そのノベルエンジンの場所教えて頂けましたら俺様多謝しやがって
いいですか?つまり教えて下さい。
連続投稿sage。
- ttp://www.objective-c.org/
- エイゴコワイヨウ。
俺のOS X関連のブクマク公開してみよ。誰かさまの参考に
なるかもしれないし。
日本語ウワーイ
http://homepage.mac.com/mkino2/
http://www.ottimo.co.jp/koike/
http://www.big.or.jp/~crane/cocoa/
http://www.fsinet.or.jp/~nito/OSPT/index.html
http://www.midi.co.jp/nxtute/tute.html
http://www.melt.kyutech.ac.jp/~hkim/Programming/Negi/objective-c.html
http://developer.apple.com/ja/technotes/tn2005.html
http://www.fsinet.or.jp/~nito/index-j.html
http://mentai.2ch.net/prog/kako/970/970719495.html
http://www05.u-page.so-net.ne.jp/xd5/mkino/HMDT/backnumber/2001_01.html
http://www.tech-arts.co.jp/macosx/macosx.html
http://www-nishilab.sys.es.osaka-u.ac.jp/~sonson/gl_mac/mac_top.htm(>>162様アリガート)
英語サパーリ
http://developer.apple.com/macosx/gettingstarted/index.html
http://faqs.jmas.co.jp/FAQs/Objective-C/index-j.html
順フドーウ。
ここ忘れんなゴルァなどよろしくお願いしやがっていいすか?
つまりなんか有名な所とかあります?
- >>161
こんなページを探してたんす!
大変参考になりました。ありがとごじゃーます!
- Cocoaで赤ちゃんをつくってみたいのですが、どうやればいいのか
教えて下さい。男の子がいいかも。
- >>177
ttp://www.ycf.nanet.co.jp/~skato/muno/index.shtml
から読みこなすのはどうよ。
男女の違いはジェンダー意識の問題であり、社会学に属する
んだかよーわからんが、俺は大学で「女性学」から学びました
ネタニマジレスだゴルァ。貴様罰としてCocoaでHello World作る手順
猿でも解るように解説して頂けたら幸いです。
>>176
いえいえ。共に頑張りませう。
ツカ直リンヤヴァカタカナ......。
- Cocoaはやっぱりオムニ社
ttp://www.omnigroup.com/developer/
- >>161
ttp://leafbsd.denpa.org/と
http://homepage.mac.com/toveta/nem/です。
実はどちらもWinのエロゲをMac OS Xで動かすためのソフトなんだけど(w
貴重なCocoa製ゲームプログラムのソースとして、参考になる部分は多いと思う。
- >>168
サンクス!下のNScriptは強烈に参考なり。
あれ?けど上のleafbsdってbsd用のソフトしかないなぁ。
ま、いいや。約束通り多謝の表現として小一時間に及ぶ小躍りを
決行いたします。
多分それで疲れて寝ると思うので今日はお休みなさい。
- >>181
あ、説明不足でごめん。leafbsdのXLVNSってソフトには
OS X用のソースが含まれてます。
- >>161
/Developer/Examples/GLUTExamples/GLUTExamples.pbproj
に豊富にGLUTのサンプルがあるから試してみると良い。
gameglutと言うサンプルを参考にすれば第一目標は達成できると思う。
次に、GLUTのソースのコンパイルは
1.PBでプロジェクトを作成する。
2.GLUTのソースを入力する。
3.PBの「プロジェクト」メニューの「フレームワークを追加」で
OpenGL.frameworkとGLUT.frameworkを追加する。
4.ビルドする。
でOK。
あと、MacOS XのOpenGLは機種により問題がある。
以下のリンクを参考にしてくれ。
http://www.zdnet.co.jp/macwire/0112/18/n_ati.html
- >>168様
なるほど。ターミナル作業なのねん。
ちょっと厨入って解らなかったけどとりあえず落ちたす。
説明が必要な俺こそごめんなさいだゴルァ!Thanx!
>>162様様
互換性、問題ありありすねぇ…。
他機種でコンパイルできるよりG3で動かないのはヤヴァイよアプール…。
とはいえGLUTの勉強は無駄にはならんでしょう。精進させて
頂きやがりますね。
サンプルは気付いてたけど、まとめてコンパイルされる
プロジェクトをばらそうとして消えチャターよ…。
友人からまたデベツールコピってこよ(俺様は魔のプリインストール)。
風邪ヒイテ辛いよう。けど今日もソースとオ勉強ページ探しして
来やがりますね。
試しに一からマスコットアプリの製作初めてます。
まずはこの環境に慣れないとね。ココアはやっぱりのコピペは
秋田し。Objective-Cは萩原さんの本でなんとかする方向。
自己申告厨房の意地を見せてやる!できたらウプする方向ですが、
皆さん、叩く準備はよろしいですか?
- 本日"Cocoa Programming for Mac OS X"がAmazon.co.jpより到着。
なかなか良い本だという前評判なので、
じっくりと読んでみる、と。
- >>184
183のMacWIREの記事の説明だけど
CPUは関係なくて、グラフィックチップの問題で
最近のG3は問題なく動く。
あと、Cocoaのソースを探してきた
猫がかわいい
ttp://www.win.ne.jp/~juan/misc/neko/index.html
テトリスなど(・∀・)イイ!!
ttp://www03.u-page.so-net.ne.jp/za2/koyama-/macosx.html
- >>186(162)
テトリスの方、ホントウニ(・∀・)イイ!!
うーん、ベージュG3所有しとる友人には見せられないっぽいなぁ。
なんとかして欲しいですやねこの野郎。
- 補足。GLの話ですやね。
- >186
テトリスとマインスイーパをダウンロードしました。
ソース付きだから勉強になるし、いい刺激にもなって有り難いです。
自分にとっての目標はこういう簡単なゲームを作るくらいの
レベルなんですが、やっぱりかなりの量のコードを書かないと
いけないんですね。
Obj-CはC++ほど難解ではないようだし、取り組んでみようかと
いう気がしてきました。早くアプリケーションをアップしたいです。
- うぉっ!?こげな有志がいたとね!感謝感激だゴルァ!
oomori.com様によるCocoaAPI日本語翻訳版
http://www.oomori.com/p/index.html
…cocoaヤパーリのルートサイトsite-aroで紹介されてんじゃん。
ヤパーリには直リンで行ってた俺様。もしかして情報古すぎ(笑)?
それはともかく只今ルームランナー上を小走りでDL中。
だぁぁぁっ!アナログ遅ぇっ!早くパラメ設定すませeAccess
ADSL8M!!
…収容局から4キロあるってか。無理だな(泣)。
あと、情報ソースはやっぱりsite-aroですが、Quakeの
Cocoa用ソース。
http://www.fruitz-of-dojo.de/php/download.php4?dlnr=2&Fruitz of Dojo=d47c541aba0a87aaaa0d81880278df8b
- >>190
pdfか…
- >>190
翻訳ソフトを使った手抜きだよ、あれは。
中身を読んで、がっくりした。
- >>190
正直、少し期待してたのに・・
- このスレに感化されてCからプログラミングを勉強しようと思い、
"C入門"という、そのものずばりなタイトルの本を借りてきたのですが、
……ですが……。
ずいぶん古い本で、UNIX上でemacsを使うことを前提としてるのです。
で、たとえば次のようなコード
main()
{
printf("My Name Is\n");
printf("Yamada Taro\n");
}
を打ち込んでコンパイルしてみよう、といった感じで書かれているのですが、
具体的な手順が……どうにもこうにも……。
emacsを起動して上記の文字列を打つ、それ以降の手順がさっぱりdeath。
"デスクトップのアップルマークってどこですか?"ってのと同じくらいの
アンポンタンな質問だとは自覚しております。ですのでアップルマークの位置で
さえも、尋ねられたら答えるくらい親切な方がいらっしゃいましたら、
どうぞお助け下さい。
あと、上のようなコードはProjectBuilderに用いてもOKなのですよね?
- マジレスすると、その本は捨てたほうがいい
>>194
- >>194
そのくらいならTerminalから直接gccを使って
「gcc -o test test.c」とでもした方が簡単ですが、
ProjectBuilderでもプロジェクトを作成する際に
「Standard Tool」を選択すれば良かったと思います。
- >>195
マジレスすると、図書館で借りてきたから捨てられないのれす。
いやホント、初心者の初心者にわかりやすい本ってなかなか……。
>>196
emacsを使うなら前提としてUNIXもわかってなきゃいかんですよね…。
gccですか。理解してからやってみようと思います。ぬりがとう。
敷居が高いわぁ~。
- TerminalからGLUTフレームワークを使用するコードをビルドする方法
cc -o test test.c -framework GLUT -framework OpenGL -framework Cocoa
-frameworkオプションを使えばどのようなフレームワークでも呼び出すことが出来ます。
リンクエラーが出たら必要なフレームワークが指定されていないということなので、
それらしいものを追加しましょう。
折角ProjectBuilderがあるのですからそれを使えばいいのだとは思いますけどね。
- Cの本なら、技術評論社からでてる「C言語プログラマーズライブラリ」シリーズ
はどうかなー?
漏れは「C言語ポインタ完全制覇」持ってるけど、なかなか分かりやすいぞ。
他のは著者が違うのでどうかしらんが。
Cocoaの話題ではないのでsage
- >>197
図書館の本は古いのが多いからなー。
地道にサイトを探すほうがいいのがあるぞ
- ご助言下さってる皆様どうもです。
amazon.co.jpで探すと、技術評論社は割と理解しやすそうな本を出してますね。
初心者にとってはProjectBuliderの解説からして理解できない単語が多いので、
まずは地道にCのサイトを探してみようかと思います。
Cocoaはさっぱり、なサイトで、Cでぐったり、な話題を提供してしまって
申し訳なかったです。みなさんありがと。
- サイト、じゃないや、スレ、です。スレ。
- 前橋さんの本なら初心者向けには
「C言語体当たり学習徹底入門」がよいと思われ。
ひととおりのことは押さえてあるし、
サンプルもかなり具体的なので判りやすいです。
- Cocoaの日本語ドキュメントリンク
HAPPY Macintosh Developing TIME!のCocoa Programming Tips 1001
ttp://homepage.mac.com/mkino2/cocoaProg/index.html
Cocoaはやっぱり!のドラフトなドキュメント
ttp://www.big.or.jp/~crane/cocoa/_draft/
空色そふとのテンでテンてこまい
ttp://www5.tkcity.net/~skyblue/ref/tenten/cocoa.htm
空色そふとのOPENSTEPの覚え書き
ttp://www5.tkcity.net/~skyblue/ref/openstep/index.htm
Cocoa BeginnersのCocoaリファレンス
ttp://www.infoatmackers.jp/cocoa/reference/
- おー、情報が増えてきた。皆さんサンクスです!ウプする情報が
無いのが寂しい限りだ畜生めっ。
萩原氏のObjective-C本片手にいろんなソース読んでるんで
すが、appkit回りは>>204さんの最初のリンクでとりあえず
なんとかなってます。
皆さん、特に初心者の方々、今どういう資料や本を中心に
勉強してます?
やっぱりポインタうろ覚えじゃついてけないなぁ…。
>>199さんのご紹介に預かってみようと思われますyo。
- >>205
灯台もと暗し、というかHELPをひたすら
読みまくりですが。英語の勉強にもなる(?)し。
- >>206
HELP?リファレンスとかでなくて?
- ProjectBuilderでCocoaっていうのがロマンあふれてていいなと思う
んですが、初めてのプログラミングとしては情報が少なくて厳しい
ので、とりあえずWinのVisualBasicから始めています。
『プログラミング学習シリーズ・VisualBasic』みたいな、超初心者用の
丁寧なCocoa教本が欲しいです。萩原さんの本とかで言語の文法は
分かっても、その先に進むのが大変なので。
- > とりあえずWinのVisualBasicから
せめてREALbasicにしておけ
- > 超初心者用の丁寧なCocoa教本が
マジな話、書いて売れるものなら漏れが書いてもいいけど。
- >>208
荻原本は文法より実際の用法に重点を置いてるよ。まだそんなに
読み込んでないのかもしれないけど。
Objective-Cって言語仕様としてはすごく単純な言語だと思う。
早い話、Cの文法とメッセージの考え方が分かってしまえばあとは
NSFoundationクラスの使い方を覚えるだけです。逆に言うとNS
Foundationクラスの存在なくしてObjective-Cは語れないという
くらいで、荻原本でも大半は文法ではなく同クラスの説明に終止
しています。
Cocoa(Appkit)に関してはやりたいことが出て来た時点でそれに
関係すると思われるクラスのリファレンスを読み、試行錯誤しな
がら使い方を覚えて行くのがいいのではないでしょうか。
あとAppleのデベロッパサイトに日本語のチュートリアルがあった
と思うので(名前はOPENSTEP...となっていますが問題なし)、
それを見ながら一応の流れを掴むとよいと思います。
- おっと、FoundationクラスじゃなくてFoundationフレームワークでした。
寝ぼけてました。すんません。
- さらに冷静になってみるとNSOjectクラスの事書いてたつもりが
いつの間にかFoundationフレームワークに移行してるっす・・・。
恥ずかしいので忘れておくんなまし。
- JAVA厨な俺は、ここで勉強している。
JavaユーザーのためのObjective-C入門
ttp://members.tripod.co.jp/kwatch/macosx/objc.html
- Cocoaのソースを見つけたよ。
花札、簡易住所録、カレンダー
ttp://www.googolplex.co.jp/software/cocoa01.html
赤頭巾チ*チ*のデスクトップマスコット 作者はK仲川
ttp://isweb32.infoseek.co.jp/computer/nkgwk/sw/chadance.html
Native OS X Applications Cocoaのソース公開アプリを166本紹介している。
これはスゴイ。
ttp://osx.hyperjeff.net/Apps/CocoaSource.html
- >>215
花札マンセー!とてーも面白い!ゞ( ̄ー ̄ )
- ソースが充実。最高。
ポインタ解らない。グルァ。
俺の買ってる猫の名前ギコって言うんです。
PBG4の上がお気に入りらしく、Cocoaで
プログラミングできません。どうしたらいいですか?
- >>217
俺が思うに217の人間性に問題があるから
ギコがゴルァと叫んでいるのだと思う。
> 384 �名前:�douzin (sage) 投稿日:01/12/25 01:46 ID:kWSZ4UU1
>だって俺大人だもん。天才だもん。
>集まる奴が程度低いだけだもん。ホントはQuarkだって作れるもん。
>カターリ逝きましょ。
- ポインタ分からなくても、ほっといて先に進めば
そのうち分かるようになると思うよ、たぶん。
- しかし初心者スレのわりに、あんまり具体的なコードについての
質問が出てこないねー。
基本的にこの手のスレはそういうのが増えた方が活気が出るんで、
遠慮なく質問して欲しいところなんだけど。
- >215
いいですねー。でもiMacなので本格的にProjectBuilderを
使うことができません。Cocoaのために新しいMacを買おうかな。
- 何でiMacだと使えないの?
- ttp://www.MacGU.net/?carbonmakerUS
おもろいぞ、これ。
- お勉強ベージ
「Mac OS X プログラミング入門 Objective-C」の著者である荻原剛志さんのページです。
ttp://waltz.cs.kobe-u.ac.jp/indexj.html
「COCOA STORY」まだ始まったばかりです。ゆっくりと勉強する人には良いかも。
ttp://homepage1.nifty.com/gidget/cocoa/cocoa.html
- ありゃ、ページがベージになっている。
スマン。
- NSTextViewのビューの中の文字とかを全て消去するには
どうしたらいいのですか?
- >>226
いくつか方法はあるけど、最も安直なのは、
[myTextView setString:@""];
みたいに setStringメソッドを使う手でしょう。
ちなみに setStringは NSTextViewの親クラスである
NSTextのメソッドなので注意。
- ヘルプのやつ、ようやくわかった。
Info.plistにNSHelpFileというキーを埋めて、
そこにヘルプファイル名を指定するのです。
実際は、それ以外に雑用がいろいろありますけど、
ようやく正解にたどりつきました
- >>226
textViewというインスタンス変数だったとして、
[[textView textStorage] deleteCharactersInRange:NSMakeRange(0,[[textView textStorage] length])]
- ageついでに俺もとりあえず初めて見ようと思う。
1年ほど前ラマ本の正規表現で遭難したDQNが手を出して
いいものなのかなぁ。
- >>230 遭難しても仕方ないと思うよ。
- むしろ最初っから正規表現を「ラマ本で」理解できた奴は
ガンジー。
- 激しく寂れてるが しうりょう?
- 他のプラットフォームだと GLUT を include するときに,
#include <GL/glut.h>
だったんだけど,Mac OS X だと,
<GLUT/glut.h>
なんね.
シンボリック・リンク貼ったり,いろいろ試したけど,
一般的な上の方の記述でコンパイル通すことできんかった.
なんか,GLUT.framework ディレクトリ下にいろいろ入っている構造で,
どうしていいかよくわからん.
- プログラミング初心者です。
気になって仕方がないので、ご存知の方は教えてください。
Foundationフレームワークのなかに、
ANSI-Cの標準ヘッダはすべて含まれているのでしょうか?
printf()やrand()といった関数が使えるところをみると、
すべて含まれているようにも見えるのですが、
実際のところどうなんでしょう?
- >>235
最初からインクルードされているから明示的にインクルードしなくてもいいよ
- Obj-Cだし、import使う流儀にしる!
- Project Builderで簡単なコード補完をしてくれるプラグイン。
http://www.obdev.at/products/completion-dictionary/index.html
ESCキーを押すことで同じファイルの中から単語を検索して補完してくれる。結構便利。
3.1にバージョンアップしてたので3.0を使っている人も入れてみるとヨシ。
- テキストフィールド
[myOutlet setStringValue:@"あいうえお"];
- すみません、途中で文章が切れてしまいました
テキストフィールドを使って、
[myOutlet setStringValue:@"あいうえお"];
が文字化けするんですが、
このままではだめなんでしょうか?
- @""では日本語が使えません。(7bit-ASCIIとして扱われてしまう)
どうしても日本語を使いたいなら、
[ myOutlet setStringValue:[ NSString stringWithCString:"あいうえお" ] ];
とでもするしかない。
ちなみに本来ならこういう定数はマルチリンガル対応にするためlocalizable.stringsファイルを作って
そこに文字列を定義し、NSLocalizedString()などで取得するのがCocoaアプリとしては正しいんだけどね。
こちらのやり方はヤパーリでも見て調べてください。
- MAC上のクライアントソフトからUNIXサーバ上のDBにアクセスするような
プログラムを書きたいのですが、PostgresqlやMySQLのodbcドライバfor
cocoaみたいなのはありませんでしょうか。
ちょっと調べたらなさそうなのですが、そういう場合は
cocoa-java-jdbc-DBMS
といった接続を行うのがセオリーなんでしょうか。
- >>241
ありがとうございます。
マルチリンガル対応方法を調べてみます。
- >>242
PHPでわだめなの?
- 保守
- ProjectBuilderWOって何よ。
- WO==Web Objects では?
- >>234 の件,自己解決したっス.
コリで,OS X でコンパイルするときだけ
include 文を変えなくても済むっス.
- CocoaのフレームワークからOpenGLを使う方法を憶えたいのですが、
OpenGL関係の書籍が見つからず困っています。
良い本や良いサイトをご存知でしたら教えていただきたいのですが…。
(LearningCocoaを検討中です)
- NSOpenGLViewのdrawRectをオーバーライドして、そこで
OpenGLコールする。以上。
- Cocoaはやっぱり!森永
- >>250
べりぃサンクスです!
これでOpenGLの学習が出来ます(^-^)
簡潔な説明、ありがとうございました。
- 【新・mac】 新・ProjectBuilder が消えたー。
- ほんまや。dat落ちが早くなってる?
- オブジェクトC・・・・
誰がくめるんだろうか・・・
今更C++を捨てろと?
ビルダーの日本語周りはくさっとるし・・・
- JavaとCocoaを勉強したくて、DeveloperToolsをダウンロードしたまでは
良かったのですが、InterfaceBuilderを立ち上げたときに出てくるパレットが、変なんです。
使い方のWebとか見ても、普通、部品のアイコンが出てきてその部品を
「Window」にDrug&Dropしますよね?
ところが、僕のInterfaceBuilderの場合は、AppleScriptのアイコンが、上にあり、
その下に青い立方体がパレットのまん中にあるだけ。しかも、Drag&Dropできず。
いろいろメニューとか触って見たのですが、できません。再インストールもやりました。
他のWebにもいって調べたのですが、駄目です。
解決策を知っておられる方、どなたかいらっしゃいましたら、是非ご教授いただきたいのですが。
- >>256
パレットのタイトルバーの下には AppleScript 以外のアイコンは
並んでないの?
- >>257
はい。並んでおりません。
- >>255
Objective-Cだったら、俺も含めて使えるやつはたくさんいると思うぞ。
てか、C++使いなら基本的なとこは一日あればマスターできる。簡単。
しかも今はObjective-C++になってて、既存のC++コードも混在できる。
捨てる必要なし。
これらの事実から見ても255はよくわかってないんだと思われるんだけど、
念のため、ビルダー(Interface Builderのことだよな?)のくさったとこ
ってのをを教えてくれ。
- >>256
Tools->Palettes->Customize Toolbar
で追加できるはず
- 「はじめてのMacOS X Cocoa プログラミング」を購入しました。
素人が通販で\4,800-もする本を購入するのには勇気がいりましたが、
500ページを越えるボリュームにも関わらず、とっても丁寧、且つ分かり
やすそうですので頑張って読破しようと思っています。わくわく。。
- >>261
がんばりや。
つまったらここで書いたらええ。
- >>262
ありがとうございます。
今日は65ページまで読みました。63-65ページで「ん??」ってなりましたけど、
気にせず読みすすめては復習ようと思います。
この本はスクリーンショットが沢山あって、素人が躓きそうな箇所はきっちり
フォローしてくれているので勉強になります。楽しいです。
- このスレは最近停滞気味だから、
きみの新歩状況とか書いても誰も文句は言わないと思うよ。
どんどん進めてがんばりや~
- 漏れからもがむばれぇ
そしてその本がいらなくなるぐらいマスターできたら
その本を漏れ(以下略)
- 140ページ、7章のデリゲートに入りました。
でも、読むことはできても飲み込めていないのでコード丸写しです(泣
何も見ずに書けるようになる日が来るんでしょうか、、、ううっ。
>>265
いいですよ。そのかわり私に手取り足取り…(以下略)
- 誤植ない?
リゲートとか
- >>267
あ、はい。今から読みますので注意深く見てみます。
ADCのサイトからDeveloper Toolsをダウンロードしたのですが、
本のスクリーンショットと若干UIが違う(改良されている)んですね。
- >>268
いいなあブロードバンド。
CDに焼いておくってくれよ~
- >>269
CD-RWを贈ってもらえれば(以下略)
…もう止めます。。スマソ。
- はぁー。やっと約半分読み終えましたー(T▽T)
237ページの誤植らしき所でしばし休憩(w
はやく11章に入って12章のサーバ・クライアントアプリケーションの
所まで行きたいです。
- >>271
ちゃんと作りながらやってる?
だったらいいけど。
- サンプルのソースをコピペして、
わーい動いたー、ってだけで済ませているに100レディース4
- >>272-273
いちおう全部書いてますが、コピペしてるに等しいところも沢山あります。
最後まで読んでサンプルも動かせたら、あと2回、最初からやり直そうと思っています。
- Objective-Cってc++でいうところのfriend宣言みたいなメンバのアクセス権の
クラス単位の制御ってできないのでしょうか?
- ない >>275
- 255はネタだろ?
C++みたいな難物がわかるならObjective-Cなんかヘみたいなもんだよ
- むかしアセンブラはわかったのに今AppleScriptに苦戦しています。
LD
- >>276
レスありがとうございます。やっぱりないですか。
すると状況に応じてpublicにするかアクセス関数を用意するかの二択ですね。
c++はObjective-Cに比べて言語的にはあまり美しくないけど、
それなりに便利なところがありますよね。
一時オブジェクトとかコンストラクタ&デコンストラクタ、operator関数なんか。
まあ、このあたりはトレードオフになるんですかね。
シンプルを目指したObjective-Cと、いろいろくっつけた結果便利だけど
いまひとつまとまりのないc++というのが今のところの印象です。
- >>278
そりゃAppleScriptに比べればアセンブラは単機能なので理解しやすいからでしょ?
- >>279
friendというのは諸刃の剣ですけどね。
これほど反オブジェクト指向なものはないし。
- >>261
ヤフオクで買った人?
だとしたら有効活用してくれてるようで嬉しい。
俺は3秒で挫折したからな。
- >>282
荻原本ならまだしも、アレの何処で挫折したんだ?
- 萩原さんのと、中村さんのCocoa本では、どちらがオススメなんですか?
- >>284
どっちも買え。
- 「オカズとゴハンのどちらがオススメですか?」
みたいな質問ですね。
両方買うべし。というのも、それぞれの傾向が全然違うし、
片方だけでは知識がそろわないから。
- はじめまして。
Cocoaプログラミングが出来るようになりたくて
いま、柴田望洋の「明解C言語」を2/3ほど終わらして
残りポインタと構造体の章だけなんですが
やっぱりそれら2つも理解しないとCocoa出来ないでしょうか。
- Cocoaの中でもポインタと構造体は頻繁に使われるので、
理解してないと分からないところも多いんじゃないかと思う。
ていうかポインタと構造体も分からないうちはCが理解できたとは言わんて。
- 287です。
リョーカイデス。がんばります。
- Objective-Cのid型ってオブジェクトへのポインタだよな。
そう考えるとCのポインタに関する部分は必須と思われ。
オブジェクト自体も構造体の延長だし。
- >>オブジェクト自体も構造体の延長だし。
これは忘れましょう。C++ではたまたまそういう実装だっただけ。
Objective-Cでは別物。
- C++に毒されたやつがここにもか…
- >>291
ということは構造体は勉強しなくてもよいのかしら。
- >>293
知ってたほうが便利ってことはあるけどね。
そういや自分の作ったCocoaプログラムでは
構造体がほとんど出てこないな。
- でもCocoaが提供しているメソッドとかで
たとえばサイズ指定とか矩形の指定みたいなのは
もろ構造体ですから、自分が作らなくても、
他人は作っていることはあるから、そこんとこは注意してね
- ありがとー(・∀・)
やっぱ勉強するね。いろいろごめんね。
- cocoa-javaのしつもんです.
作ったNSImageデータを解放する方法を教えて下さい.
できるのかどうか分からないんですけど,そのままだと
作れば作るほどどんどんメモリを使ってるみたいなんです.
- 厨房な質問で申し訳ありませんがcocoaアプリと期待してomniwebとか
落としてみてもあまり早くないんですが元のオブジェクトプログラムが
遅いんでしょうか?作り方がosxに最適化されてないんでしょうか。IEと大差ないんすけど。
Stone Studioなんかはけっこう快適ですが。
- ココアはさっぱり
osxはげっそり
- >>297 java.lang.System.gc()
…などと思いつきで書き込んでみる(w
- >>300
ありがとうございます.
試してみたところ,メモリ解放されているようです.
しかし,java.awt.Image#flush()みたいなのはないんですかね-?
- Cocoaで多次元配列を引数として関数に渡すにはどうするの?
- Cocoaは簡単らしいけど、さすがにREALbasicのようにはいかないねぇ。
- Rbはちょっと難しいことしようとすると、いきなり難解になる。
そのへんに溢れてるありきたりフリーウエアを真似ることは
簡単なんだけどね。
- ペイントツール作ろうと思って
-(void)mouseDown(NSEvent*)event
の中で線を書きたいんですけど描画されません。
一旦別のウインドウに隠して、元に戻すと描画されるので
バッファには書き込まれてるようなんだけど、
それをすぐに表示させる方法が分かりません。
どのクラスにどんなメッセージを送ればいいのでしょう。
- >>305
[ [ NSGraphicsContext currentContext ] flushGraphics ];
- Document-Basedのアプリケーションで各ドキュメント(のview)に
対するCopyやPasteの処理ってどこにどのように記述するのでしょう?
ちなみにウィンドウ、ウィンドウコントローラ、ビューの全てを
サブクラス化してソースを記述してます。
雰囲気的にはFirstResponderが関係してるのかな?
- Developer ToolsでREALbasicのプラグインを作ることはできないでしょうか。
GUI部分はREALbasicで、REALbasicでできないことだけはプラグインで作る
ということができれば、かなり嬉しいのですが。
- >>297
Javaはあまり詳しくないんだけど、
object = nil;
みたいな姑息な技でできませんかね?
- cocoaと直接関係ないんですが、、、
他人様のソースに _ で始まる変数名を見かけるんですが
意味をどなたかご教授下さい。
- >>310
漏れの場合、インスタンス変数の名前には先頭に"_"をつけるようにしています。
意味は「私的コーディング規約」です(w
- インスタンス変数ですか。
今、参考にしてるソースはBOOL型の変数に"_"がつけてあります。
ということは310さんとは意味が違いますよね?
- >>313
いや、インスタンス変数ってのは「インスタンスを指している変数」では
なくて「インスタンスが保持する(?)変数」、要するにObjective - Cに
限れば
@interface Hoge : Foo
{
//...ここに色々、列挙してある変数
}
//...
@end
のことなんだけど。。。(普通、そうじゃないの?)
型は関係ないです(<あ、漏れの場合は)。
ま、何にしろ、構文上の意味とか、そういうことはないはずです(Javaでも)。
- >>308
REALbasicは使ったことないんでよく知らんけど、確かCの関数を呼べるんだよね?
それだったら問題なく作れるはず。DeveloperToolsにはC, C++,
Objective-C, JAVAのコンパイラが含まれてます。
>>310
C(含C++ & Objective-C)ではアンダースコアは実質的にアルファベットと
同じ扱いなので言語的には特に意味はありません。
実践的にも人やケースによって様々な使われ方をしてます。
一般的には補助的、副次的な変数名or型名の頭につけることが多いと思います。
- >>310
ソースを見ないと分かんないけど、たぶん、クラスやモジュール内で使われる、
プライベートな変数である事を強調する為に「_」を付けてんじゃないの?
- >309
さらにGCを呼んで,
object = nil;
System.gc();
てすると,速効性があるような気がするけどどうかな.
- >>314
Developer ToolsだとCFMじゃなくてMach-Oを作るから
REALbasic側で対応してくれないとダメというヲチじゃないのかな?
でも早いとこ、高いCWじゃなくて無料のDeveloper Toolsで開発できる
ようにしてほしいとオイラも希望します
- >Cocoaで多次元配列を引数として関数に渡すにはどうするの?
普通のC言語の場合と変わらないと思うけど。
普通のC言語のプログラムではどうやってるんですか?
- レスありがとうございます。
補助的、副次的、プライベートな変数の頭につけることが多いということですね。
なんかかっちりしきたりがあるのかと思いましたんで、質問したんです。
- またしても疑問があります。
コードの後ろに日本語でコメントを入れるとビルドでエラーがでませんか?
こんなコメントの入れ方はご法度?
newItem=[uriString copy]; //日本語でコメント
- >>320
それ、gccでおなじみのバグです。
ご法度なわけじゃないです。
コメントだけ上の行に移すとか /* コメント */ みたいにするとか
やって切り抜けてます。
- あ、そうなんですか~。知らなかった。
ありがとうございます。
- >314,317
ありがとうございます。やっぱりだめみたいですね。
まあいいか、Developer Toolsでがんばります。
昨日少しDeveloper Toolsを勉強しましたが、確かに
C++よりは遥かに簡単そうです。
- >>311
"_"で始まる名前は使ってはいけません。
"__"あるいは"_"+大文字で始まる名前はCライブラリの予約名です。
#defineされている場合もあります。
これ以外の"_"で始まる名前もexternとしての使用を予約されていますので
どこでぶつかるか解りません。インスタンス変数やローカル変数の
つもりで使ってタイプミスした物がライブラリの動作を破壊するかもしれません。
こういう基礎的なことを知らないソースは私は即捨てます。
- >>324
それって、確か外部識別子だよね?
うーん、インスタンス変数は全部、アクセサメソッド介してるから、
タイプミスのこと気にしたことなかったな。
厨房でスマソ、と忠告サンクス。
- 「はじめてのMac OS X Cocoaプログラミング」を90ページくらいまで読んだ
ところですが、なかなか感動ものです。今までC→Java→REALbasic
→Objective-Cと勉強してきましたが、Developer Toolsは本当に凄いです。
ある意味REALbasicより簡単です。それでいて高機能。しかし、これは
Objective-Cがいいとか、Developer Toolsがいいとかいいうことではなくて、
Cocoaが、いやMac OS Xの設計がいいのかもしれません。まあ、気に入らない
部分も多少はありますが。REALbasicで作ったソフトのテスト用にiMacを買った
のだが、もうREALbasicをさわる気がしなくなってきた。
- >>306 様
[ [ NSGraphicsContext currentContext ] flushGraphics ];
をためしましが後述の理由により、上手くいきませんでした。
また、[[self window] enableFlushWindow],[[self window] flushWindow]
[self display]
等を、あらゆるタイミングで呼んでみましたがこれも上手くいきませんでした。
投げやりぎみで、「flush」をキーにフレームワーク内を検索して発見いたしました。
void QDFlushPortBuffer(CGrafPtr port, RgnHandle rgn );
です。
Quickdrawを使って描いたら、Quickdrawを使ってバッファをフラッシュしなければならないようです。
Cocoaの描画ルーチンはフラグでも立ててるんですかね。
っていうかいつの間にこんなtoolboxが。
どうもお騒がせ致しました。
早々
- すいませーん。
NSLog(@"hoge start");
というかんじで、デバッグしたいんですが
NSLogを追加するとビルドを通らなくならないですか?
大丈夫な場合もある。この違いは??
- >>328
可能性を書いていったら、キリがないけど、変数宣言の前に追加してるとかな(w
ソースの一部か、エラーメッセージぐらい載せようよ。。
- >>326
禿げ同です♪
完璧主義者ジョブズ氏が偏執的な拘りを持って
設計しただけのことはあり、本当に凄い開発環境ですよね。
- Code WarriorとかREALbasicとかってこれからどうなるのでしょうか。
もはや消えてなくなるしかないのだろうか。
でも、ライバルとして生き残ってほしいです。
それからREALbasicのインスタンスとかメソッドとかを最初の数文字
入力すると、後を自動的に表示してくれるあの機能をCocoa開発環境も
パクってほしい。
- >>331
Appleは、Carbonにもそれなりにリソースを注いでいるようなので、
Carbonをターゲットとした環境として生き残っていくと思われる。
それに、現状のPB/IBはMacOS Xのみだからね。
Windowsやpalmも含めたターゲットを選択できるのは強みだよ。>CW
- >>329
どんぴしゃです!解決しました。
そうか変数宣言の前に挿入できないんですね。知りませんでした。
これからもっと情報を示して質問します。反省。
- >>331
REALbasicはOS 9.x以前+Win、Carbonがある分、現状、
すぐに消えてなくなることはないと思われ。収拾つかなく
なって自滅なんてのはどーか(藁
CodeWarriorは知らんので何とも。
コードの自動補完は別のエディタ使えば?
Project Builderのプラグインもあったような気がするけど。
- >>330
Cocoaが優れた環境であるというのには禿同だが、ジョブズが
開発環境の設計はしないだろ (w
- >>334
プラグインって>>238のこと?
これは同じファイルの中から単語を拾ってくるだけだよ。
タイプ量を減らすには便利だけど、メソッド名を初めて入力する時は意味がない。
メソッド名等を補完したいなら文字列をコマンドキー押しながら
ダブルクリックでなんとかなるはず。
- Project Builder のエディター部分のカスタマイズ機能をキボン
Windows の Visual Studio ではエディター部を差し換えできるんだよね。
私、Emacsよりvi の方が好きなので。
って、もしかして既にある?
- >337
VisualStudio.NETの新機能でエディタの指定可能ってのがあるけど。
現行のVSでできるの?
- 既存のアプリをcocoaでリメイクするのって難しいの?
- >>339めっさ難しい。ほとんどフルスクラッチになる。
- >>340
そうなんですか
さっき旧板でNutron Disco Dancer見かけたんで
欲しいな~って思ったんですよ。
- >>338
おらぁ、viviちゅーエディタをつこーとる
>>340
おらぁ、やろうとして挫折しただぁ
PowerPlant使っているやつだったら・・・無理か。
- cocoa+javaで,画像を読み込まないで,それが画像かどうか判断する方法って
どうやるんですか?
objective-cのinitByReferencingFileみたいなの.
- >>343
Javaは使ったことないのでよくわからんけど、雰囲気的には
/System/Library/Frameworks/AppKit.framework/Versions/C/Resources/English.lproj/Documentation/Reference/Java/Classes/NSImage.html
のConstructorsの項のまん中へんに書いてある、byReferencingをtrueにして
isValidで調べるって方法かな。
- 古本屋でC言語の本を買ってきてしまった・・・500円
昔ちょこっとやったことがあるから見るとある程度解るっす。
みても解らんとこあるけど。
でもCocoaでは何をどうやればいいのやら・・・
C-Magazine立読みしたらOSXでのプログラミング講座やってるんだね。
Cocoaのおいしい飲み方?とかそんなタイトルで載ってた。
まだ第2回。ああいう講座って後に書籍になるのかな。
なかなか分かりやすそうだったが・・・あの数ページのために1,200円は高いから手を出さなかったが。
- 真紀俊男さんのヤツですね。<講座
あの人、某MLでCocoaの本を書きかけてるって書いてたから、
しばらく待てばでるんじゃないかな?
ちなみにこの人が書いたREALbasicの本はかな~り良かった。
- >346
そうなんだぁ、本屋で立読みしていいなと思ったんですよ。
今まで立読みした(w 入門書にはちょっと不満だったんですが、これは良いかもと。
出版を期待して待ちます。
- >>347
真紀俊男(K仲川)さんの本は素晴らしいよ。進め!CodeWarriorからのファンでし
- >>348
…たが、もうやめました、と締めくくってみるテスト。
- Macintosh Developer Onlineが廃刊だって・・・
ところでDev Toolのウプデータンって何か変わったの?
ただのバグフィックスかしら。
- InterfaceBuilderでのインターフェイスの変更が
ぜんぜんProjectBuilderで反映されないんだけど
なんとかならないですか・・・?
- >>351
もすこし詳しく書かんと誰も分からんよ
- 昔、「MacintoshではじめるCプログラミング」を買って勉強してたが、第7章(ポイントとパラメータ)あたりで全然わからなくなってしまった。
もっかいOSXでCの基本:関数からやりなおすかな~
- >>351
オッティモの小池さんもそんな事言ってた様な、言ってなかった様な…。
>>358
その本はよく知らないが、第7章の題名の「ポイント」は「ポインタ」では?と思う。
- あの本自体あまり良くないという説があり。
再入門するなら柴田望洋先生の本を一通り読んだ後、
萩原本に行くのがよいのではないかと。
- >>351
例えば日本語環境で開発してて、EnglishとJapaneseのnibがあるのに
Englishの方だけ更新してるとかはない?
- >>355
そうなんですか?? でも今お金がないので、とりあえずこの本でやってみます。
ともかくCの基本がわかんないと「MacOS Xプログラミング入門Objective-C」や「はじめてのMacOS X Cocoaプログラミング」は無理ですよね?
- >>351
一度クリーニングをやってみたら。
- >>356
うわ、ビンゴです!
遊びでjapaneseのnibを作ったのがいけなかったか・・・
ありがとうございまいた。
というわけで、iTunes風ムービービューア「Cocoa MovieBrowser」
開発再開!
・・・完成のメドはたってませんが(笑)
- スレちがいですが、FutureBasic^3がカーボンに対応しました。
http://www.stazsoftware.com/
- いよいよ日本語版「入門Cocoa」が出るようで…
ttp://www.oreilly.co.jp/
- キャンペーンの特製CocoaT-シャツホントにこんな感じなら欲しい(w
http://www.oreilly.co.jp/order/
- 出てるの?まだ?
- >>363
オライリーのWebページには「3月」としか書いてありません。発売日に欲しいなら
出版社から直接通販とか。表紙はいつもの二色だから分からないけど通称「ゴールデン
レトリバー本」なのかな。3月には同時に「入門 csh & tcsh」も出るようなので
そっちも買おうか。
先月からMac OS Xでプログラミングを始めました。オンラインマニュアルが英語
だけだったので例の萩原本を買いましたが、オブジェクト指向の概念的な説明が
あった後にいきなりメッセージ式の話が始まるので、>357さんが言うように、Cの
制御文&オブジェクト指向の概念的なものが分かってないといきなりつまずきます。
今の所、「Mac OS Xで始めるプログラミング」のような本が無いので辛いですね。
'98~'99年頃に河村政雄さんがMacPowerで連載していた「役立たずBe級プログラマー
宣言!」は、(開発環境が無料で付いてくる)BeOSを使ってC++を易しく解説していた
ので、私の場合はこれが「超入門」になりました。二年弱の連載のうち、一年以上を
かけてC/C++共通の制御文の解説をして、最後の数カ月でウィンドウを出して図形を
描いて、という所で終わってしまったので、あれが今読めれば絶対にお薦めするのですが
残念ながら単行本は出ていません。MacPower PDF CD-ROMってまだ出ているので
しょうか?もしあるとしたらその辺りに収録されているかもしれません。
- >>364
「入門 csh & tcsh」はもうでてるよ。
- 数日前にiBookを買ってCocoaデビューした初心者です。
CocoaでCWのSIOUXアプリみたいなのを簡単に作る方法はありますか?
標準のTerminalは日本語を通さないし、できたらFinderからダブルクリックで開けるようにしたいんです。
- >>366
「Finder上から起動できるCUIアプリ」って事?だとしたらMac OS Xは
標準でTerminalがあるから、何らかの形で結局はTerminal上で動かすって
事になると思うけど詳しくは知らないので有識者にパス。
CUIアプリのGUIインターフェースだったら「CocoaWget」がソース付きで
参考になる筈。それかAppleScript StudioのExamplesに入っているSimple Shell
なんかがAppleScriptからTerminalを制御するサンプルになっているので
それも参考になるかな?的外れな答えだったらスマソ。
- Cocoa-Java Document-basedアプリを作ってます。
「アクティブターゲットの編集」でファイルとクラスの関連付けに
パッケージ入りのNSDocumentのJavaサブクラスを
フルネームで指定するとコンパイルは上手くいくんですが、
保存の際にファイルタイプの指定がどうのとか言うエラーが出るんですが、
ウチだけでしょうか?
パブリックドメインのJavaクラスだと問題ありません。
それと、NSDocument.makeWindowControllersで
NSWindowControllerのJavaサブクラスをインスタンシエイトしようとすると、
「objc FATAL」とか言ってアプリごと落ちるんですが、
(そのオブジェクトは既に存在するとか何とか)
これもウチだけでしょうか?
- >>367
ありがとうございます。
ターミナルで既に動いているプログラムをなるべく簡単に
Finderから起動する方法はないかなと思いまして。
CocoaWgetのソースをゲットしてきました。
これからじっくり読んでみます。
- すごく初歩的な質問ですが、unsigned ってどういう意味ですか?
int と unsigned int はどのように違うのでしょうか。
- >>370
int = signed int
符号あり、-2147483648~2147483647
unsigned int
符号無し、0~4294967295
32bitの場合ネ
符号に1bitとられるから範囲が違うわけ
- >>366
Moriarity っていう Sample Code が使えるかも。
http://developer.apple.com/samplecode/Sample_Code/Cocoa/Moriarity.htm
command-line の機能を Cocoa GUI でラップする実装のサンプルらしい。
らしいというのは、自分でコードまでみてないから。
たしか、 Cocoaはやっぱり出張版でも解説されてたよ。
http://www.big.or.jp/~crane/cocoa/_MDOnline/MDOnline_2002.01.pdf
まだ読んでないけど。
- Drag&DropでDropを特定のカスタムViewで受けるのはできたんだけど
Window全体で受けるのはどうすればいいの?
- >>373
registerForDraggedTypes: はNSViewにもNSWindowにもあるから
あとは同じようなもんだと思うよ。
- つーかPBはエディタ貧弱。
メソッドに補完がきかないうえに、色付けもされないもんだから、
単純なスペルミスでハマることが度々。。。
人間はスペル&タイプミスする生き物だってことを認識してほしいよ。
- つーかPB、単純な文法エラーの指摘も弱い。。。
- ところで、なんでCocoaアプリって起動時のズームアニメが
HDDから始まるんだろう。
- 入門Cocoa今買って読んでます。
- MiscKitってだれか使ってる?
- 日本語文字コードの自動判別ってどうすればいいのでしょうか。。?
コードの変換は簡単にできることがわかったのですが。
- >>380
ESCがある→ISO 2022-JP
0xA1~0xFE以外もある→Shift JIS
上記以外→EUC
ってのでよかったと思うけど、Unicodeってどうすんだっけ?
UTF-16なら0xFFFEか0xFEFFで始まってるからいいとして…。
- 初歩の初歩の質問です。。
Objective-Cでファイルをゴミ箱に捨てるにはどうしたらいいでしょうか?
- Classicと一緒で、ゴミ箱に移動すればよいかと。
ゴミ箱はココ。
NSstring* trashFoler = [NSHomeDirectroy() stringByAppendingPathComponent:@".Trash"];
ちゅうか、関数用意しとけ>アポ-
- >>383
FinderにAppleEvent送るのでは?
- >>383
Trashへの移動は複雑な処理、自分で移動させよう等と考えないこと
適切な移動方法を定義しているのはFinder
NSWorkspaceを使うか直接FinderにAppleEventを送って処理させるべし
- どもどもです。確かに普通の移動だといろいろ難点もあるようなので、
NSWorkspaceRecycleOperationというのを試してみたのですが、
こちらも同じ名前のファイルを重ねて捨てられないなど、
細かな欠点がありました。FinderにAppleEvent送信が一番よさそうですが、
これってCarbonですよね。。むむ難しい。。
- Cocoaでファイルの種類を取得するにはどうしたらいいでしょうか?
UNIXのfileコマンドのように、テキストファイルやバイナリ、PDF、JPEGなどを判別したいんです。
NSWorkspaceのgetInfoForFile:application:type:
では単純に拡張子を返すだけのようでした…
- >>387
ファイルの種類を取得するにはタイプごとに判別が必要なので簡単にはいかないんじゃない?Cocoaにはないと思うが。
fileコマンドをNSTaskで使うのが一番手っ取り早いかな。
自分で実装するなら、fileコマンドのソースを探して参考にするとか。
- >>387
HFSのクリエータとファイルタイプで良いのなら
NSFileManagerにそう言うメソッドがあるけど。
ファイルの先頭を読んで判別するタイプだと
>>388が一番だと思う。
- すみません。
NSMovieViewにセットしたムービーを破棄するのってどうすればいいのですか?
MovieViewの下にあるImageViewが見えるようにしたいんです。
deallocしたら不正終了しちゃったよ(汗
- >>390
NSMovieViewにsetMovie:の引数にnilを指定してやれば元あったムービーは破棄されると思うが。
んでも、それで下のViewが見えるようになったっけ?
単にNSMovieViewの下のViewを見えるようにしたいなら、setFramesSize:あたりで
サイズを小さくしてやればよいと思う。
>deallocしたら不正終了しちゃったよ(汗
オブジェクトを直接deallocするのは禁じ手です。
そもそも他のオブジェクト(NSMovieView)がオーナーシップを持ってるオブジェクトを勝手に
解放しちゃ駄目ー。
Cocoaのオブジェクトの所有と破棄に関するポリシーを理解してないんだったら、
ちゃんと勉強しておくことをお奨めしときます。
- >>391
それか、親のViewから取り除く。
もういらないのなら、そのまま捨てる。
あとで使うなら、保持するかImageViewの下に配置。
- 実験してみました。
setMovie:nilでいけました!
うーん、これで一つ壁をこえたっす。激感謝。
- 激クンニ!1
- age
- >>388-389
ありがとうございます。fileコマンドをそのまま使うのが楽ですかね。
ところで、CocoaのSimpleBrowserというサンプルを触ってみたのですが、
これ、すごく重くないですか? 体感でFinderと比べて3倍以上重いです。
SNAXもかなり重いので、処理によって得手不得手はあるでしょうけれど、
CocoaがCarbonに比べて速いというのは、幻想のような気がしなくもないです。
- >>396
いや、「CocoaがCarbonより速い」なんて誰も言ってないと思うけど?
プログラムしたことのないヤシがなんとなく「Cocoaっていいものだ」と思っている場合は別にして。
Cocoaの優れた点はその整理された体系による「開発の速さ(しやすさ)」にあって、
それがゆえにむしろパフォーマンスでは劣る面もあるのは、開発者にとっては常識
みたいになっているような気がしたんだけど。
- つまり、REALbasicでどんなにがんばってもCで作ったアプリには速度では
かなわないのと同じってことですか?
- >>397
一般的に「CocoaがCarbonより速い」と思ってる人は多いと思います。
Carbon重いからCocoa化してくれ、という声も度々聞きますし。
後半同意ですし、Cocoaにはスピード以外のメリットもあるので、
優劣を論ずるつもりはないのですが、SimpleBrowerはこんなにシンプルなのに、
何か理由があるのかなと勘ぐるほど、Finderに比べて重かったので…。
- >>396
そこまで遅くないと思うが、AppController.mのbrowser: willDisplayCell:atRow: column:を見ると
毎回 setAttributedStringValueFromFSNodeInfo:を実行してる。
setAttributedStringValueFromFSNodeInfo:ではiconを取得してるから、これは効率が悪いと思う。
こうゆうのはキャッシュすべきだと思われ。
しかしNSWorkspaceによるiconの取得が遅いのは、一般にCocoaが遅いと言われる理由
(Obj-Cのメソッド呼び出しのオーバーヘッド、のことでOK?)とは違うと思うが。
- >>400
なるほど・・・NSWorkspaceのアイコン取得が遅い理由が、
まだちょっと具体的にわからないのですが、
SimpleBrowserの場合は、最適化の余地があるということはわかりました。
あと、今、G3 300MHz使ってるんで、速度差を顕著に感じるというとこもあります。
- age
- >>397
同意。
「CocoaがCarbonより速い」なんていう事自体、あまりに曖昧で何を比較して
いるのかよくわからないし。完全に条件を揃える事ができたとしたら、厳密には
Cocoaのほうが遅いといえるだろうけど、実際にはそんなことは困難だし、そ
れよりも実装方法や個人の力量の差のほうがずーーーーーっと影響が大きい。
SimpleBrowserはサンプルだからね。シンプルな分、遅い。
- Carbonの事は殆ど知りませんが、CFMバイナリのCarbonアプリは
Mach-OバイナリのCarbonアプリに比べてパフォーマンスの点で劣る、と
書かれているのを読んだ記憶があります。
Cocoaアプリは全てがMach-Oバイナリを採用しているので、
「Cocoaアプリの方が速い」という考えはこうした点から
生じたものではないかと。
- > Carbonの事は殆ど知りませんが、CFMバイナリのCarbonアプリは
> Mach-OバイナリのCarbonアプリに比べてパフォーマンスの点で劣る、
> と書かれているのを読んだ記憶があります。
ウソです。実際に試してみればCFMの方が速いことがわかります。
CFMブリッジが用意されていないMach-OのAPIについては自分で
ダイナミックリンクしなければいけませんので、CFMバイナリの方が
手間がかかるのは事実です。
- >>403
>SimpleBrowserはサンプルだからね。シンプルな分、遅い。
シンプルな分、速い。となるほうが断然美しいんだけどね。
やっぱCocoaはハイヤーレベルにおいてシンプルということになるかな。
- Cocoaなんて止めて、MFC覚えた方が有益だよ。
- >>407
Cocoaの方が面白い。
- >>407
あわれんであげよう
- 開発関係のスレで毎回MFCっていってる奴がいるんだが、マジで言ってるのかな?
- >>410
同一人物だったらサムイな。
そうだったら、そいつはMFCも良く知らないに550バルマー
- Cをはじめたいのですが、RbやASくらいはちょっと分かる程度なのですが
お勧めの初心者向けサイトはないですか?
- 本買ったほうがいいよ。
おすすめは、、忘れちゃった。
俺が見たのは 新明解C入門 だっけかな。
- >>407
CocoaとMFCだと、雲と泥ですな。
- MFCって何?
知らなくてもいい?
- >>413
さうかー
- >>416
やっぱり本を参照しながらやることになるから、
サイトよりは本のほうがいいんだよね。
だもんで私もオライリーのCocoa本を買っちまいました…。
- >>416
Webは、買った本に書いていない事を調べる時に検索できて便利。一から
腰を据えて勉強するつもりだったら、紙の本の方がいいかな。それでWebと併用ね。
お勧めページは……なし。その時自分が分からない事をその都度サーチエンジンで
検索するといいよ。
で、Cの入門書なんだけど、ソフトバンクから何冊も出ている柴田望洋の文章が
なにかにつけて「何々ですね?」と同意を求めてくるので嫌。内容もあんまり、と
思った。確かプログラマー板あたりにお勧めの解説書スレッドがあったので、そちらを
参考にしてみて下さい。この板に質問したという事はマカーでしょうから、開発環境が
無料でダウンロードできるMac OS Xをお勧めします。
>>415
Windowsでプログラミングしないなら知らなくてもいい。しかもMicrosoftはJavaの
市場を食おうとして.NETフレームワークを作ってるから、今なら尚更。
それにしてもCocoaフレームワークと比べられてもなあ。で、何かにつけて煽っる
407は、MFCもCocoaも熟知した上で言ってるの?両方知ってるなら、どちらかの方が
絶対的に良いなんて言わない筈だよね。この世界、何事もケースバイケースだから。
まあ407はVBで遊んでなさいってこった。
- >>418
煽っる→煽ってる。でした。
で、Cを勉強したいと思ってこのスレに書き込んだ416さんは、
ゆくゆくはObjective-Cも使いたいと思ってるの?それとも、仕事か資格で
Cを覚えないといけないという状況なの?そのどちらかで勉強の仕方も
変わってくると思うけど……。後者ならCの知識は基本的な制御構造と
ポインタさえ分かればすぐにObjective-Cの勉強を始めてもいいと思うけど、
前者なら、どうしよう。お勧めはピアソン・エデュケーションのC++プログラ
ミング第二版Vol.1(H.M.ダイテル+P.J.ダイテル著 小嶋隆一訳)です。
C++じゃねえか、とお思いでしょうがVol.1は殆どをCの解説に割いています。
後ろの方で簡単なクラス構造に触れたあと、C++独自の機能はVol.2で本格的に
解説するので、Cだけで十分ならVol.1だけを買うといいです。
- 私はプログラミング未経験ですが、このスレを読んで、
MacOS・でC、Objective-Cを勉強したいと思いました。
簡単なテーブルゲームをつくるのが目標です。
明日早速、書籍を買いに行こうと思います。
- NSViewのdrawRectメソッドを使って表示した画像を
左右反転表示したいのですが、簡単に出来るでしょうか?
- 416です。日曜プログラマー志望者です。
AppleScriptやREALBasicだと、便利だけど処理速度的に苦しい場面がでてくるでしょ?
そういうのを補うプログラムをCで組みたいんですよ。
- >>421
drawRectの中で何をしてるかにもよるけど、アフィン変換が使えれば
ほんの数行の追加で済む。「Cocoaはやっぱり」の関連項見るよろし。
- >>422
書き忘れたけど、お勧めの本を挙げたはいいけど、本屋で自分で色々
読んでみて、これなら自分で最後まで読めそうだとか、読みやすいとか、
「自分にとっての良い本」を最終的には買ってください。他人から勧められた
けど自分にとっては退屈だなあ、というのでは長続きしませんから。
416さんの使用目的ですが、AppleScriptやREALbasicで遅い場面というのが
なかなか思いつきません。まあ確かにAppleScriptでリストを何千個も持って
repeat with inで回したら遅いどころかオーバーフローしそうですが……。
Cはリストやハッシュ(AppleScriptのレコード)のような高度なデータ構造を
持っていないので、文字列処理を速くこなそうと思ってるのでしたら、あまりの
面倒臭さに途中で挫折してしまうのではないかと思います。ASやRbが高級言語
ですからね。趣味でやるというのなら苦しみも楽しさに変わる……かも……。ただ
覚えて損はないと思いますよ。僕だけじゃなくて詳しい方のフォローキボン。
僕もC/C++は知っていて、Objective-Cをここ一ヶ月ちょっと勉強していますが、
オブジェクトを扱うと途端にsmalltalkになってしまう部分になかなか慣れません。
- >>424
> 僕もC/C++は知っていて、Objective-Cをここ一ヶ月ちょっと勉強していますが、
> オブジェクトを扱うと途端にsmalltalkになってしまう部分になかなか慣れません。
そこがいいところなのに。
- ♪Cocoaはさっぱり森永~
- Cocoaはやっぱり!から初めてプログラミングに触れたのですが、
なんとかここまで漕ぎ着けました。
要はムービープレイヤーですが、ちょっと工夫もしてあります。よければ使ってみて下さい。
http://homepage.mac.com/kitta/FileSharing3.html
ほんとはもっといろいろしたいことあるんですけど、QuickTime
の使い方がよくわかんないんで、これ以上は手が出せません。
QuickTimeからのコールバックってなんだ~~!
Cocoaはやっぱり!を見てもこの辺りはさっぱりわかんないっす・・・
にしても、ユーザーインタフェイスの設計って頭を悩ませますね~
- >>427
これは(・∀・)イイ!
ムービーの整理に便利ですね。
プレイリストにD&Dと階層化できたら嬉しいです。
- ワーイ
そういう人が一人でもいてくれてうれし~
>プレイリストにD&Dと階層化できたら嬉しいです。
やることリストに入れときます!
- Cocoaで乱数ってどうやって出すんですしょうか?
- >>426
あっ! クソッ! 先を越され田たぁ~!!
- >>430
% man random
Cocoaというかstdlibだけどね。
- Button等を非表示にするにはどうやるんですか?
setNeedsDisply:でできるかと思ったけどだめぽい。
- あんましかっこよくないけどdisableにしてtransparentにするとか。
もっといい方法があるかもしれないのでsageとく。
- >>433
NSViewのremoveFromSuperviewでいけるかと。
表示するときはsuperviewにaddSubView:。
removeFromSuperviewの前にviewをretainしとくのも忘れずに。
- >>435
なるほど、それすごく正しい方針な気がする。
- ありがとです。
こんな感じで消えたんですけど
インスタンス変数NSView *mySuperViewは必要なんですかねぇ。
mySuperView = [myButton superview];
[myButton retain];
[myButton removeFromSuperview];
[mySuperView addSubview:myButton ];
これだとだめだから必要かな。
[[myButton superview] addSubview:myButton ];
消えてる間はAutosizingが無効になるから、、、どうしよう。
- replaceSubview:with:でダミーのviewと交換するのはどうだろうか。
[button retain];
//ダミーを作ってボタンとサイズの設定を同じにする
dummyView = [[[NSView alloc] initWithFrame:[button frame]] autorelease];
[dummyView setAutoresizingMask:[button autoresizingMask]];
//交換
[superview replaceSubview:button with:dummyView];
//元に戻す
[button setFrame:[dummyView frame]];
[superview replaceSubview:dummyView with:button];
[button release];
ちなみにsuperviewは必要。
非表示じゃなくて削除だからボタンのsuperviewはnilになると思われ。
- いけますた。
最初AutoresizingMaskとして失敗。
autoresizingMaskなのね。
- このスレを見て、プログラミングの勉強を始めた初心者です。
さっそく柴田望洋のCの本を買ってきて、PBのStandard Toolを使って、勉強
を始めましたが、いきなりわからないことが出てきてしましました。
#include <stdio.h>
int main (void)
{
int no;
printf("整数を入力してください。:");
scanf("%d",&no);
printf("あなたは%dと入力しましたね。\n",no);
return 0;
}
という、プログラムを組んで、ビルドと実行をすると、最初にscanfが実行さ
れて、その後に2つのprintfが実行されてしまします。
「整数を入力してください。:」が表示されたあとにscanfが実行されるよう
にするにはどうしたらいいんでしょう??
- >>440
printf()の直後に fflush(stdout);を行うべし。
- おお。いけました。ありがとうございます。
ついでに質問。
1) fflush(stdout);を入れるのは、PBならではの仕様でしょうか?
2) int no;をscanf()の前にもってくると、ビルドが失敗しますが、
変数の型の宣言は、リストの1番最初に持ってくるのがアタリマ
エですか?(わざわざ、中に持ってきて見にくくする必要性はな
いとは思いますが...)
- 1)に関して自分なりに調べてみました。。。
1度バッファを開放させて、printfを実行させる、ってコト。。。か?
この件に関しては、まだ深入りしないほうがいいかな(^^;
- >>440
結論からいうと、
1も2もCocoa依存ではなく一般的なC or 標準出力の仕様の話題ですので、
ここよりもプログラム板などで質問すべき内容です。
一般的なCの本に従って勉強しているうちはあちらで質問した方がいいでしょう。
もしCocoa依存の問題だと思われたり、そういった解答を向こうでされたら
こちらに戻ってきて質問して下さいな。
- >>444
ここ、書き込み数少ないし、いいんじゃない?プログラム版で該当スレッドを
読む&&質問を書いた上で、Mac(というかPB)固有の問題が出たらここに質問
するって事で。
あと>442の質問2だけど、Cみたいにあらかじめ変数を宣言しないといけない
言語では、関数(mainも関数ですよー)のアタマに宣言するのが習慣になって
います。で、宣言した関数の最後になるとその変数は自動的に消去されます。
で、int no;は「変数の型の宣言」ではなく「int型の変数noの宣言」です。
「変数の型の宣言」と書いてしまうと、自分で型を宣言しているみたいなので
この場合、そういう言い方はしません。Cでオリジナルの型として振る舞うのは
typedef宣言だっけ?(Cが記憶から薄れてゆく……)。
- >>444
ぐは。云われてみればその通りでした。
しばらくプログラム板で修業してきます。
>>445
ふむふむ、なるほど。わかりました。
ありがとうございました。
- age
- launch を実行した場合の標準出力を、setStandardOutput でファイルに指定
する方法を教えて下さい。
Pipe を指定する方法は分かったんですが、外部コマンドの出力をパイプ経由
で受けると、出力が大きい場合には waitUntilExit が戻ってこなくなります。
waitUntilExit をしなければしないで、出力が途中で切れています。
(パイプのバッファの大きさの問題?)
結局、一旦ファイルに落として読み込んだ方がよさそうなので、そんな方法
があったらご教示下さい。
- >>448
http://developer.apple.com/techpubs/macosx/Cocoa/TasksAndConcepts/ProgrammingTopics/OperatingSystem/Tasks/pipes.html
ここに載ってるコードは試しましたか?
while ((inData = [readHandle availableData]) && [inData length]) {
[self processData:inData];
}
これでうまくいくと思うんだが。
- >>449
レスありがとうございます。
それも試してみましたが、出力結果が途中で切れてしまいます。
waitUntilExit が戻らなくなることといい、launch された外部コマンドが
途中でハングしているような感じでしょうか…。
- >>450
どんな処理をやってるか分からないんだが、、、
pipeをIn/Out別々に作っているか、出力をちゃんと行っているかどうかをチェックしてみては。
とりあえず↓のようなコードでスクリプトを実行させたらうまくいったので参考にして下さい。
- (IBAction)action:(id)sender {
NSTask *task = [[NSTask alloc] init];
NSPipe *pipe1 = [NSPipe pipe];
NSPipe *pipe2 = [NSPipe pipe];
[task setStandardOutput:pipe1];
[task setStandardInput:pipe2];
[task setLaunchPath:@"/usr/bin/perl"];
[task launch];
[self write:[pipe2 fileHandleForWriting]];
//別Threadにした方がいいかも
[self read:[pipe1 fileHandleForReading]];
[task release];
}
- (void)write:(NSFileHandle *)handle {
[handle writeData:
[[inTextView string] dataUsingEncoding:NSASCIIStringEncoding
allowLossyConversion:YES]];
[handle closeFile];
}
- (void)read:(NSFileHandle *)handle {
NSData *inData;
while ((inData = [handle availableData]) && [inData length]) {
NSString *str = [[NSString alloc] initWithData:inData
encoding:NSASCIIStringEncoding];
if ([outTextView string] != nil) {
str = [[outTextView string] stringByAppendingString:str];
}
[outTextView setString:str];
}
}
- >>451
ありがとうございます。
やろうとしていることは何ということはありません。外部コマンドとして
ls -R を実行し、指定したディレクトリ以下のファイル一覧を取得しよう
としているのです。わざわざ外部の ls -R を実行しなくても、Cocoa の
中にファイル一覧を取得する機構があるのは知っているのですが、ANSI C
の知識しかない当方にはそのあとの処理を含めて敷居が高いのです。
ls -R の結果をパイプ経由で取得するプログラムを走らせると、階層が浅く
ファイルが少ないディレクトリの内容は問題なく取得できるのですが、階層
が深くファイルが多いディレクトリでは結果が途中で切れてしまうのです。
ご教示頂いたコードを試してみます。
どうもありがとうございました。
- コードを拝見させていただきましたが、結局、一旦パイプに出したデー
タを受け取るんですね? うまくいくかな…。
ちなみに私のコードは以下の通りです。obj-C をよく知らないので汚い
のはご容赦!
NSAutoreleasePool*pool=[[NSAutoreleasePool alloc] init];
NSTask *task = [ [ NSTask alloc ] init ];
NSPipe *newPipe = [ NSPipe pipe];
NSFileHandle *readHandle = [newPipe fileHandleForReading];
NSData *outData = nil;
NSString *outString = nil;
task=[[NSTask alloc] init];
[task setLaunchPath : @"/bin/ls" ];
[task setArguments : [ NSArray arrayWithObjects : @"-R", @"-F", path, nil] ];
[task setStandardOutput : newPipe];
[task launch ];
while ((outData = [readHandle availableData]) && [outData length]) {
outString = [[NSString alloc] initWithData:outData encoding:NSShiftJISStringEncoding];
[outString writeToFile : tmppath atomically : YES ];
// tmppath は別のところで定義しています
}
[pool release];
- そういえばハイパーカードってやっぱきえた?
- 上記の件、らちがあかないので強引に以下のようにしたらうまくいきました。
う~ん、ANSI C はやはり偉大だ! 無理はあるかもしれないがシンプル!
NSAutoreleasePool*pool=[[NSAutoreleasePool alloc] init];
cmd = [NSMutableString stringWithString : @"ls -R -F "];
[cmd appendString : path];
[cmd appendString : @" > "];
[cmd appendString : tmppath];
// path, tmppath は別に定義
system([cmd cString]);
[pool release];
- .NET>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>Cocoa
つか今時Cかよ
- Cかけない奴ほどCを馬鹿にするのな。
Cの勢力は20年は変わらないんじゃない?
大学でもすべての基本として教えているし。
- C#?冗談でしょう?
- ( ´_ゝ`)フーン
- それよりも、おまえら、新しいDeveloper Toolsが
ADC会員のダウンロード専用ページにうぷされてるぞ
- あぼーん
- >>453
まずファイル名のencodingはNSShiftJISStringEncodingでなくNSUTF8StringEncodingです。
あとwhileの中でwriteToFile:atomically:を行ったら、毎回ファイルに上書きされると思うんですが、、、。
.NETよさそうっすね。完全にMFCとかのかわりに使われるようになるんでしょうか?
- >>462
あなたが、4/18に「Macのセキュリティは最悪!」タンと遊ぶスレでお書きになった
http://pc.2ch.net/test/read.cgi/mac/1018520654/611
に対する
http://pc.2ch.net/test/read.cgi/mac/1018520654/613
氏の指摘に対する釈明がまだなのですがいつ頃になりますでしょうか?
みんな心待ちにしてますよ。
あ、もしかして>究極のアホという奴ですか?(w
- あぼーん
- >>464-465
ホームスレッドあげておいたから、そこでやってね。
- 図書館で入門Carbonって本を借りてきた。
一週間くらい勉強してみるけどこの本はどうなの。
表紙に2匹の犬のイラストがある本なんだけど。
- 「入門Carbon」ってCarbonの本ですよ
Cocoaだったら「入門Cocoa」のほうが適切。
個人的にはCarbonっていうのは従来のMacOSプログラムの経験者が
やるものだと思うから、もしMac OSプログラムそのものが入門者
だったら、あまりおすすめしない
- VC++がいいとか、MFCがいいと思っている時点で
ネタだってことに気づけよ。おまいら。
こういうことわざを教えておこう
「生まれてから酢しか飲んだことがないものは、それを美味と感じる」
- あぼーん
- >>461
あれは有料メンバーだけだよね?
一般にはもうすぐ。。
- >>449
コメント、ありがとうございます。
>ファイル名のencodingはNSShiftJISStringEncodingでなく
>NSUTF8StringEncodingです。
これは ls -R -F > dummy の出力と比較するためにNSShiftJISStringEncoding
にしています。また、後でこの出力を読み込んで fopen に使う場合には、
NSShiftJISStringEncoding の方が都合がいいみたいです。
(ANSI C 使いですから(笑))。
>あとwhileの中でwriteToFile:atomically:を行ったら、毎回ファイルに
>上書きされると思うんですが
なるほど。
でも、コードの出力結果を ls -R -F > dummy の出力と比較すると dummy の
前半部分と対応しているので、「上書きで前半が消えた」というものではな
いようです。(複数回の書き込みはされていないということですね)。
- >>471
いや無料メンバーも今日からダウンロードできるよ
- >今までヘドロ食わされてたのが、合成酢にグレードアップしたもんだから
>喜んでるんだろ?
おまえ、だれにもの言うとんねん?
CP/MやMZ80時代から、いろんな開発環境さわっていて
メジャーなものはたいてい知っている
Visualなんちゃらしか知らない厨房と一緒にせんといてくれ
- >>474
ははは…。
私もGUIになってまともにプログラミングは勉強しなくなったけど、
BASIC から始まって、Z80 アセンブラ、FORATRAN、PASCAL、C は
一通り使えるよ。もうだいぶ忘れたし、どれも原始的な使い方
しかしてないけどね。ちなみに第1種情報処理技術士さ。
科学計算が仕事なんで、いまは Mathematica 専門。
- >GUIになってまともにプログラミングは勉強しなくなったけど、
GUIになったら、ついていけなくなった、と正直にいえよ。
そういうやつは会社を起こして、社員をアゴでこきつかうようになるの。
- あぼーん
- あぼーん
- なんだよ!納豆のタレとめんつゆのさもわからないくせに。
- >>471 無料メンバーにも配布しているけど。
- >>480
それって、英語版のデベツールβ版?
昨日偶然みつけて落としたんだけど、それとは別?
- >>472
いろいろ試しましたが、やはりエンコーディング変換がうまくいってないみたいです。UTF8でも変になります。原因不明というかUnicodeは複雑でわからんです。
解決策としては、NSStringにしないでNSDataのまま書き出すことでうまくいきます。
NSMutableData *data = [[NSMutableData alloc] init];
while ((outData = [readHandle availableData]) && [outData length]) {
[data appendData:outData];
}
[data writeToFile:PATH atomically:YES];
>>477
MFCがスマートで高度というのは初めて聞きました。
- >>477
MFCをスマートだと言い切る人を初めて見た。マジで。
- うお、かぶったけど別人だよ。同じ意見だね。
- MFCがスマートだって意見を、プログラム板かWindows板でがんばって発言してもらいたい。
- あぼーん
- ・間違っていながら、しかもそれを認めたがらないとき、人はついには怒り出す。
byトーマス・ハリヴァーン
・自分で怒りを抑えるには、他人の怒る姿を静かに観察することである。
by L・A・セネカ
・怒りは無謀をもって始まり、後悔をもって終わる。
byピタゴラス
- このスレにゃMFCをスマートだと表現した奴は一人しかいねーよ。
相手にされてない。
- MFCをスマートだと表現した奴のプログラムを見てみたいよ まったく
- 最悪タンの知識はこの程度です。
↓VC++(とZ80アセンブラ)ぐらいしか知らない最悪タンが何か言ってます。
528 名前: Macのセキュリティは最悪! メール: 投稿日: 02/04/15 23:38 ID:a1PfSApE
>519
おまえさ、現代ではガベコレってのは参照・ポインタ等のアクセスや
型の違反を動的にチェックすることを言うんだぜ?
c++程度しか使ったこと無いんだろ。
イタタタタ!!
- いらん餌撒くなよ。専用スレでやっとくれ。
- 続きは
http://pc.2ch.net/test/read.cgi/mac/1018520654/l50
でおながいします。
- あぼーん
- Macのセキュリティは最悪! にゃ友達なんて一人もねーよ。
相手にされてない。
続きは
http://pc.2ch.net/test/read.cgi/mac/1018520654/l50
でおながいします。
- >>476
>GUIになったら、ついていけなくなった、と正直にいえよ。
私に関していえばその通りだ。理学系の研究者のプログラミングに GUI は
いらんのだ。いまだに FORTRAN を使ってるやつもいる。
要は、何が自分に必要かだ。
>>482
たびたびのコメント、ありがとうございます。
現在自宅ですが、自宅の MAC には Developer Tools を入れていないので、
連休明けに職場に行ってから確認してみます。
丁寧なレス、本当にありがとうございました。またよろしくお願いします。
- みなさーん、「荒しは放置」。基本ですよー。荒しクンは寂しいから、
かまって欲しくてこんな事を書いてるんだけどそんなヤツに同情してやる義理も
無いので荒しクンが一番嫌いな「放置プレイ」にしてあげて下さい。
- でも、Cocoa/Java2SE/MFC/.NETの各フレームワークを
プラットフォームの是非とは別の次元で比較した話とか聞きたいな。
Java界隈ではJavaとC#の冷静な比較検討が結構成されていて、
凄く興味深い。
- >>497
とりあえずCocoaはObjC、.NETはC#の言語仕様に影響を受けてると考えて、、、JavaはObjCを参考にして作られたというし、C#はJavaのパクリだとさんざんいわれてるので、Cocoa/Java2SE/.NETではそんなに違いはないように思うのですが。
用途の違いがあるかもしれない。Cocoaは主にOSネイティブのアプリケーション向けで、OSのサービスを利用するためCが直接使えたりする。
一方.NETやJavaはもっと広い用途で使われてるんじゃないかな。強い型付けにも関係すると思います。WebObjectsもいまやJavaだし。
でもMacのデベロッパにとって移植性が問題だと思います。とりあえずWinとMacで動くアプリケーションを作るとなると、現状ではPowerPlantってことになると思うんですが。
ここらへんの理由でCocoaに乗り換えられないってのがあるのかな?
一応CocoaのWin版はApple社内にあると思うけど、Appleはこれをリリースすべきだと思いますか?Mac版.NETがでればよし?C++でPowerPlantそのまま使ってろってこと?
- あぼーん
- 918 名前:名称未設定 投稿日:02/05/03 11:28 ID:48nPqavV
>プログラム版にゃcocoaのスレなんて一個もねーよ。
>
>相手にされてない。
Macのセキュリティは最悪!たんにゃ本当の友達なんて一人もねーよ。
相手にされてない。
---------------------------------------------------------------------
だってさ。こんな事言うのは的外れだと思うけどね。
まあ、続きは↓で。
http://pc.2ch.net/test/read.cgi/mac/1018520654/l50
- Objective-C
http://pc.2ch.net/test/read.cgi/tech/990574267/
- あぼーん
- あぼーん
- Obj-C始める人の為にはなると思われ。
>>504
中読んだか?
- あぼーん
- 相手すんなって・・・
- よっぽど「友達いない」が図星で傷ついたのかな?
ごめんね。でも、チミのその粘着ループ体質が
友達いない理由だから注意しようね。(w
続きは
http://pc.2ch.net/test/read.cgi/mac/1018520654/l50
でおながいします。
- >>499
APIの抽象的な部分っつっても言語仕様に依存するんじゃないでしょうか。delegateとか。
デザインパターンはあんまり知りませんが。
.NETは継承の階層が浅くて、Javaはそうでなくデザインパターンを忠実にとりいれてるってのは聞いたことがありますが。
Cocoaはどうなんでしょう?Immutableなクラスからmutableなクラスの派生ってのは一般的なのかな?
あと、Class ClusterでFoundationのクラスはほとんど抽象クラス扱いだってことも特徴かも。
([[NSArray alloc] init...]で実はCoreFoundationのクラスのインスタンスができたり、つーか未知のクラスが多い)
.NETのMac版はなんか出そうなんですが、System.Windows.FormsはMac版に限らず時間がかかるっぽいです。
- あぼーん
- >>510
cocoaがWinで動かないからでしょ、馬鹿ですか?
- 皆様には大変ご迷惑をおかけしております。
http://pc.2ch.net/test/read.cgi/mac/1018520654/l50
を飛び出した「白痴」と言う言葉が口癖の禁治産者が様々なスレを荒らしている模様です。
大変危険ですのでレスポンスと言う餌を与えないようにして下さい。
また、発見時には
http://pc.2ch.net/test/read.cgi/mac/1020388689/l50
までご報告下さいますようよろしくお願いいたします。(w
- あぼーん
- >>510
eMacにファンがついているみたいでがっかり、という話題のスレで、
「PC室にファンレスマシンなんて意味ない」と書き、Macを貶すどころか
かばってしまった馬鹿ウィナなんて一人しかいないが、理由は?
これ以上このスレの人に迷惑かけるな。専用スレでやれ低能。
- >>513
プログラム板にやMacで使える言語についてもいっぱい扱われていますが、何か?
- それもID間違ってるし、煽りやとしても3流だな>>513
- せっかくの誘導が台無しではないか。
- あぼーん
- Class Clusterも良し悪し。最大の問題は継承がやっかいということ。
ただし萩原先生の本にそのへんは詳しく書いているけどね。
デザインパターンの勉強するまで、その意義はさぱーり
わからんかった。
- 良スレが荒らされるのは鬱です。
ここらで一段落してくれると嬉しいのですが。
- 単純に「ココに」Cocoaスレがあるからム板に専用スレが
ないだけと思われ。
Macに関係するスレはム板、マ板にけっこうあるぞよ。
- Cocoaって奥が深いのにとても簡単で、あんまり人に質問とかする必要無いなあ。
だからスレもこれ一つで十分な気がする。
CodeWarriorやってたころは本当にストレスがたまったし、REALbasicやってた
ときは裏技ぽいことをいろいろと調べたけどなあ。
自分のオリジナリティーを出したい部分にだけ集中できるから本当にソフト開発が
楽しい。
Mセ悪!可哀想に。こんな諺御存じですか。
「大事な仕事は忙しい者にやらせろ。」
早く忙しくなると良いですね。
- あぼーん
- 煽り・論争はよそでどうぞ。大事なスレが読みにくくなる。
- おまえ、MFCで仕事したことあるのかと
小一時間問いつめていいですか?↑のやつ。
せいぜいダイアログ・アプリをいじった程度じゃねえか?
こいつは。
- ごめん。523のヴォケのことだよ。
- >>23
論理学に精通してるフリする割には境界条件に疎いな。
お前の意見を通すなら、利用者が少ない、だけで理由として十分だと思うが?
究極的に支持されない場合は、どこぞの開発環境みたいにアンチスレが立つだろうが。
「Cocoaスレが一つもない→支持される理由が少ない」、と直結するのは短絡。
今は単にCocoa利用者自体が少ないだけ。もちろん信者でもなんでもない俺は、
「Cocoa利用者は今後ぜったい増加するんだよ!」なんてな妄想は言わんがな。
お前の勝手な拡大解釈は不毛なんだよ。
あと、本当にわざわざ諍いのないスレに余計な話持ち込むなってば。専用スレ行け。
- ↑>>523宛て。スマン。
- なあ、具体的にほかのフレームワークと比べてCocoaの
どこがどう優れている(もしくは劣っている、とか)と思っているわけ?
Cocoa以外知らんから自分は比較できないんだけどさ。
さらに、具体的にCocoa上でのObjective-CはJavaと比べて具体的に
どこがどう優れている、もしくは劣っていると思っているの?
ありそうな点を思い付く限り言ってみると、
1.カテゴリ。既にできているメソッドの追加や変更ができる。
ただし予期せずにメソッド名がかぶると予想外なメソッドを呼ぶ危険も。
2.セレクタ型。Javaでもリフレクションとやらを使ってできるらしいが。
3.CやC++との親和性。
4.スピード。主に起動の部分かな。
メソッドの呼び出しとかはJavaのが速いと思うし。
一方、
5.ガベコレ。Objective-Cにはautoreleaseがあるにはあるのだが。。
6.例外処理。マクロベースの例外処理はちと落とし穴があるとか。
7.メソッドの呼び出しの違い。
現実にはないのかもしれないけど、Objective-Cだと
知らぬまにメソッドをカテゴリで書き換えたり、
逆にカテゴリのメソッドを継承で書き換えたりすることが考えられる。
実行時には全てのメソッドがPublic。
8.メソッドのオーバーライド。ここらへんはいいのやら悪いのやら。
といった所か。
個人的結論、感想は
「少なくともCocoaみたいなトリック無しではObjective-C(GCC版)は
Javaよりおおよそ劣っている」
のではないかと。
- あぼーん
- 間違えた
8.メソッドのオーバーロード
- 90年代中頃にOPENSTEPがすごいと言われていたのは
EOFのことだったと記憶している。
- 誰かさんの好きなMFCなんかクラスウィザード使ってクラス作ると
メンバ変数をPublicにしまくるという、致命的を超えて、
おーまーえーはーアフォーかー
な素敵なことをしてくれるけどな(w >>530
- ちなみに、staticな関数を使えばprivateなメソッドの代用はできる。
だから、意識して使えばこの点は単なる見た目の問題になるんだろうけどね。
Cの機能で補える部分は拡張しないのがObjective-Cの特徴かな。
いやむしろCのオブジェクト指向としての機能が不足している部分を補ったのが
Objective-Cなのか?
- >>534
後者だね。何せ設計がオブジェクト指向技術に関してはまだ黎明期だったから。
言語仕様的なもので見るとノウハウの蓄積がそのまま反映されるから
ObjC < Java =< C#
になると思う。フレームワークのクロスプラットフォーム性では、
Cocoa < Java = .NET
かな。Javaも.NETもインタプリタを用意すると言う点では全く同じ。
Cocoaはnibファイルは完全にクロスプラットフォームだけど
実行ファイルはプラットフォーム依存になる。
ただ、Cocoaフレームワークだけを使うなら
アプリケーション独自の部分を全部Java任せにして
mainだけを各プラットフォーム向けにコンパイルする方法もある。
……もっとも、Appleにその気がないからこの話はあんまり意味ないけど(TT
- うーむ、言語仕様に優劣をつけるのも難しいけど、新しい方が
優れているというのはどうだろう? オブジェクト指向という
点で見ても、例えばSmalltalkの方がJavaより優れている(と
いうかスマート)な点があると思うぞ。ノウハウの蓄積という
よりも設計指向の違いが大きいと思われ。
いや、たしかにJavaはObjCも参考してるから、より優れている
点は多いんだけどさ。でもフレームワーク全体で見ると、やっぱ
ObjC+Cocoaの方が好みかなあ。
- そそ。どっちかが優れている、という結論は
あくまで個人的な印象のレベルで言っている過ぎない。
それでもあえて知りたいわけだが。
で、肝心のCocoaそのものに対しては、何か特徴はない?
MFCやQtやGtk系やPowerPlantの方がいいんじゃないの?
と挑戦してみる。
とりあえず、「純なC++が使えない」という
Cocoaの欠点だかC++の欠点だかよく分からない特徴があるな。
あと、よくいわれるのがIBなんだけど、
正直いってどう違うのかはよくわからない。
いろいろ見てみると、target-actionとoutletを使った実装との接続が
特徴だという節があるけど、それはどう他のよりいいの?
- >>537
target-actionは単純だからでは?
[target performSelector:action withObject:sender]の形式をとることで、簡単にevent handlingが可能。
outletはnibファイルのバインディングに関係すると思われます。
nibファイルの動的ローディングみたいなものは他のフレームワークではどう実装されているのでしょうか。
まあ、他のフレームワークでもあまり違いはないかもしれないけど、
[NSBundle loadNibNamed:@"nibFileName" owner:controller]とか。
とにかくダイナミックバインディングが多いってことでしょうか。WebObjectsもこれを応用してるみたいですし。
- 確かにイベント処理が簡単になりましたね。
でも私は、きれいに整備されたクラスやメソッドの使いやすさに
Cocoaの最大の魅力を感じます。何をやるにしても前処理や後処理
で面倒だった旧来の開発と比べて極めてシンプルになってます。
初期値(旧来のPreference)を保存するためのNSUserDefault、
、オブジェクトをファイルに書き込むNSArchiver、ファイルパス
を簡単に操作できるNSStringなどなど、あげればきりが有りません
が、古いOSと古い常識に別れを告げた結果、ここまでシンプルに
プログラミングできるようになるとは驚きです。
『Cocoaはやっぱり!』117ページのWindowの表示位置の読み込み
をたった1行コーディングするだけで、保存は勝手にやってくれると
いうところには、正直あごがはずれそうになりました。そんなバカな!
って感じですよね。(W
それにしてもこの本、小さな間違いオンパレードですね。
でも、それが面白い。
- a÷g÷e
- WWDCのページにサンプルコードがたくさんあって面白そう。
試してみようかな。
- しかし、MFC擁護をまとめて削除ってのは妙なスレだな。
- ↑ろくに過去ログも読まないらしく妙なレスだな。
- これが、物凄く気になるのですが...
Performance of code generated by C++ compiler will be better thanbefore. "Going from something that was mediocre at best to somethingthat is truly outstanding.
GCC3 の事だよね。
- ほんまやね。
誰か削除以来したの?
- Cocoaはこうなっているけど、MFCはこうなっていて便利だ、とか、
MFCの方がこの点でスマートだ、とか、
別に優劣だけじゃなくてもプラットフォームの思想の違いから来る
APIの設計の仕方の違いだとか、
そう言うまじめな話なら大歓迎なんだけどなぁ。
俺が知っているMFCの有利な点って、
日本語ドキュメントくらいだから(笑)。
識者の方の御話を是非聞きたいっ!
- Cocoa Sprite Kit
http://www.sugarcubesoftware.com/csk/modules.php?op=modload&name=News&file=article&sid=6&mode=thread&order=0
- http://pc.2ch.net/test/read.cgi/mac/1001404151/l50
によると、MFCにはリッチなウェブブラウザのViewがある模様。
- >俺が知っているMFCの有利な点って、
>日本語ドキュメントくらいだから(笑)。
これは激しく重要と思われ。
多少の機能の過不足など良質のドキュメントの前では…
つか「日本語」に限らないだろ>ドキュメントの充実度の差
- >>548
これ、すごく面白そうなんで、
とりあえずExamplesに入っているソースをビルドしたいんですが、
よくわかりません...。
どうすればいいんでしょうか?
CSKフレームワークをどうやって入れればいいんですか?
- >>551
とりあえずCocoa Sprite Kit (Complete Kit) 1.0 Beta 1ってやつを落として、
まずCSK Frameworkからビルド -> Examplesをビルドで動くと思う。
Exampleのビルドには必要ないが、フレームワークのインストールはbuildフォルダの.frameworkフォルダを
/Library/Frameworks にコピー(フォルダがなければ作る。ホームのLibrary/Frameworksでもok)。
プロジェクトのFramworks and Libraries/Linked Framworks/以下のフレームワークが赤字だったら、
それを消して、同じものを/Library/Frameworksからドラッグドロップすればよいはず。
- >>551
ありがとうございます!
"compositeToPoint: fromRect: operation:"とか使って、pac-man
もどきのゲームを個人的につくろうかなぁと思って、とりあえずキャラを
動かすテストプログラム作ってたんです。けど、「遅いなぁ」と思ってたんです。
(私のプログラムの書き方がわるいせいもあると思いますが)。
これは、...なんとなく早そうな気がします(気のせい?)。
- >>553
いや、CSKも結局Cocoa APIだけ使って描画してるみたいだし、最適化さえきちっと
やっておけばパフォーマンスで負けることはないはずだと思う。……たぶんね。
単純にViewのsetNeedsDisplay:を呼び出すんじゃなくsetNeedsDisplayInRect:を使って再描画するRectを更新された範囲に限定するとか、それだけでもだいぶ違うはずなんだけど。
あと、不透明なViewはisOpaqueをオーバーライドしてYESを返してやるようにするとパフォーマンスが向上するそうです。これは「入門Cocoa」より。
- >>554
おぉぉぉぉぉぉ(感涙)
さっそく試してみます。
ありがとうございましたぁ!!
- 保全
- Perl で Cocoaアプリが開発できるというものらしいけど、どうなのかな?
http://perl.infoware.ne.jp/documents/Dekiru_CamelBones.html
- 私はこっちの方が好きだが。
RubyCocoa
http://www.imasy.or.jp/~hisa/mac/rubycocoa/INDEX.ja.html
- April 2002のDeveloper Toolsって使ってみる価値ある?
- >>559
まだベータだからな。
個人で試してみる分にはかまわないが、一般に配付するアプリの開発には
使わないほうが無難と思われ。
- >>560
てゆーか、使っちゃ駄目なんじゃなかった? 勘違いかな・・・?
- >>561
gcc3でビルドしたやつを配るなってことだったと思う。
- Cocoaで正規表現を使いたい時って、どうすればいいのでしょう?
- >>563
ttp://www.omnigroup.com/ftp/pub/software/MacOSX/Source/Frameworks/
Omni社製のフレームワークに正規表現が使えるクラスがあるようなので、
これを組み込んでみてはどうでしょう。
私も使ったことはないので詳しくは知らないのですが。
- NSTaskからPerl呼ぶとか。
- 漏れ、ここで良書とされる柴田本(C入門)と荻原本(Objective-C)
を買ってきた。とりあえずCの方から始めてみたけど、初め使う
projectBuilderにてこずった。なんとか最初の「整数の和」ってのは
クリアしたけど、最後までたどり着けるかなぁ。現在この本で勉強
してる人います?
- 柴田本はだいたい夜中にぽちぽちやるだけでも、2,3週間で終わったよ。
荻原本のほうは、コンパイルの仕方がわからなくて、中村本の参考書とし
て使ってる。
- 荻原本は、いきなりTerminalからccでコンパイルしろ、だから初心者(というか
今までMacしか使った事が無い人)には辛いと思う。あのサンプルコードなら
Project Builderで「新規プロジェクト」→「CoreFoundation Tool」を選んで
main関数にサンプルコードを打ち込むなりすれば、ビルドから実行、デバッグまで
GUIでできるよ。荻原本はPBの使い方には触れていないけど、Macを使った事が
ある人ならTerminalよりも感覚的にPBの方が分かるでしょ。
- >>567
荻原本にも44ページにコンパイルの仕方が載っているはずだが?
- >>568
おお、これは良い情報をありがとうございます。
>>569
もちろんそれは知っていますが、それでも意味がわからない厨房なんです。。。
- むしろ国語力の問題かと、かと。
- 漏れもよくわからんかった。
- >>566
初めて書き込みいたします。
ここで良書とされる柴田本(C入門)と荻原本(Objective-C)とありますが、この2書の正式書名と出版社を教えていただけないですか。
- >>566
荻原本は「Mac OS X プログラミング入門 Objective-C」(荻原剛志・著/広文社・刊)
です。ハラギワラさんじゃなくてオギワラさんね。で、出版元のWebページ(www.kobunsha.co.jp)。
柴田望洋さんのC解説本は沢山なるので、どれか分かりませんが殆どはソフトバンク・
パブリッシングから出版されています。多分ここは「明解C言語 入門編」かな?
(books.softbank.co.jp/isbn/shibata/)
分からない事があったら、サーチエンジンで適当に単語を探してみるといいですよ。その前に
このスレッドで話題になっている場合は、2chブラウザーなどでスレッドを全てダウンロード
して、検索をかけてみると分かります。既に書き込まれている事に対して質問すると、
「ガイシュツじゃヴォケェ」とか言う人がいますので、あまり初心者とか言わないほうがいいと
思います。初心者スレなのにね。でもスレッド検索とサーチエンジンを当たってから質問するのは
基本って事で。覚えておいてください。
- 574、親切だよ。をれ涙出てきちゃった。
- >>563
CamelBones.framework組み込んでPerlのそれをつかうとか
http://sourceforge.net/projects/camelbones/
- >>568
大変ありがとうございました。すぐに買いに行きます。
- えーん、NSOutlineViewの使い方が分かんないよー。
- >578
http://developer.apple.com/techpubs/macosx/Cocoa/TasksAndConcepts/ProgrammingTopics/OutlineView/index.html
NSTableviewと一緒で表示データの保持等はNSxxxDataSourceを使うのね。
NSxxxDataSourceは、NSObjectのカテゴリとして登録されてるので、
NSObjectを継承してればどんなクラスであろうと使えるわけだけど。
で、NSOutlineViewの場合は、NSOutlineViewDataSourceってのを使う。
ドキュメントもついてるのでそっちを見てもらえばいいんだけど、
"Implementation of this method is required."
って書いてあるメソッドは全部実装する必要があります。
optionalの方は使いたきゃ使えって奴です。
出来たクラスをIBでNSOutlineViewに引っ付けるか、
初期化メソッドでNSOutineViewに渡してやれば良いです。
(IBで引っ付けるときは、NSOutlineViewの"中身"に引っ付る)
データの保持、管理は対象によって異なるので各自でどうぞ、
ってのが方針みたいですね。
- >>579
あわわ、あんな投げやりな愚痴に答えてもらえて光栄です。
NSTableViewでは、DataSourceにするクラスにtableViewから、
「Row」と「Columnのidentifier」を指定してデータの請求がされる(tableView:objectValueForTableColumn:row:)んで、それに対
応するデータを配列から探して返してやればOKだった、と理解してるん
です。
でも、NSOutlineViewではそれに相当するメソッドが見つからなくて・・
もしや、outlineView:objectValueForTableColumn:byItem:
なのかな?とも思いましたが、「itemって何が渡されるんだ?」状態です。
うーん、難しい・・・
- >580
NSOutlineViewの場合、横並び一列がデータひとつに対応します。
Finderのリスト表示で言うと、ファイルの場合は名前、作成日、容量等のデータをひとつの単位で管理していますね。
また、フォルダの場合も同様で、名前以外は表示物がないというデータを所有しています。
このひとまとまりを(設計者が)クラスにまとめ、その各々のインスタンスが
引数itemとして渡されます。
さらに、itemにnilが渡されたときは(仮想的な)トップレベルのアイテムだとして処理します。
手順としては、
1,- (int)outlineView:(NSOutlineView *)outlineView numberOfChildrenOfItem:(id)item
でそのアイテムが所有する子供の数を返します。
もちろんこのときitemがnilであれば、(実際に)トップレベルに表示するアイテムの数を返します。
2,- (id)outlineView:(NSOutlineView *)outlineView child:(int)index ofItem:(id)item
で実際にアイテムを登録します。
indexは配列の要素番号のようなものです。
3,- (id)outlineView:(NSOutlineView *)outlineView objectValueForTableColumn:(NSTableColumn *)tableColumn byItem:(id)item
これが実際に表示に使われるインスタンスを返す部分です。
itemの中でtableColumnの位置に表示するNSCell(のサブクラス)のインスタンスを返してやればいいわけです。
後は、子供が存在するアイテムのときに outlineView:isItemExpandable:
でYESを返してあげるようにすればrequireなメソッドは出来上がりです。
- >>581
ありがとうございます!
説明を見させて頂いて、完全に理解できたわけではありませんが
>NSOutlineViewの場合、横並び一列がデータひとつに対応します。
>Finderのリスト表示で言うと、ファイルの場合は名前、作成日、容量等のデータをひとつの単位で管理していますね。
> また、フォルダの場合も同様で、名前以外は表示物がないというデータを所有しています。
>このひとまとまりを(設計者が)クラスにまとめ、その各々のインスタンスが
引数itemとして渡されます。
このあたり、なるほど~!という感じでした。
この教えを頭に入れつつ、サンプルコードを眺めてみたいと思います。
想像するに、NSArrayのなかにNSArrayを入れるという階層構造
データは、このままではOutlineViewでは使えなくて、配列の要素それぞ
れがオリジナルのクラス(のインスタンス)となるようにデータを作らな
いといけないということでしょうか。
・・・む、やっぱりわかってないかも・・・
- >>582
>・・・む、やっぱりわかってないかも・・・
>>581じゃないが、わかってないよ。
たぶん、
- (id)outlineView:(NSOutlineView *)outlineView child:(int)index ofItem:(id)item
と
- (id)outlineView:(NSOutlineView *)outlineView objectValueForTableColumn:(NSTableColumn *)tableColumn byItem:(id)item
の違い、関係で混乱している。
前者は
「outlineViewに表示する予定の親要素itemのindex番目の子要素を返す」
後者は
「outlineViewのtableColumnに実際に表示する要素itemを表現するオブジェクトを返す」
NSArrayのなかにNSArrayを入れるという階層構造をDataSourceが持っているなら、
前者のメソッドitemはNSArrayインスタンスかnilが渡ってくることになる。
- >582
じゃあこれでどうだ?
横一列のデータ並びの事をrowDataと呼ぶならば、
itemはどのrowDataに対する操作をすればよいのかを識別するためにだけ存在しています。
たとえば、rowDataが配列の要素として保持されているなら、
その要素番号をほりこんだNSNumberのインスタンスであっても何ら問題はありません。
もちろんitemがrowData自身を表現したものでもかまいません。
要は、引数itemによってrowDataが一意に決まればよいのです。
- ありがとうございます。
今は時間がなくて試せてませんが、幾らか頭の中で整理がついてきた気が
します。
もう少し考えてみますね。
またわからなくなったら、ご指導お願い致します。m(_ _)m
- Obj-cマンセーマンセー言われながら、ちっとも使えそうな
アプリが出ないのはなぜですか?
吊るヤンも10倍早く作れるって書いてたでそ?
煽りじゃなくって、やっぱカーボソの方がいいんでないのかな?
- ありがとうございます。
今は時間がなくて試せてませんが、幾らか頭の中で整理がついてきた気が
します。
もう少し考えてみますね。
またわからなくなったら、ご指導お願い致します。m(_ _)m
- ありがとうございます。
今は時間がなくて試せてませんが、幾らか頭の中で整理がついてきた気が
します。
もう少し考えてみますね。
またわからなくなったら、ご指導お願い致します。m(_ _)m
- ・・・・やってもーた・・
ごめんなさいみなさん
- >>586
しかし、いまだにカーボソかCocoaかって言ってる人がいるとは。。
- 使う側にしたらCarbonでもCocoaでもどっちでもいいんだけどね。
作る側にしたら天国と地獄ぐらいの差があるよ。
- .
- 自分の脳内難易度ランキング
アセンブラ>C++/C(CodeWarrior)>Pure Java>REALbasic>Cocoa
だいたいこんな感じです。Carbonはいずれ用無しになるものと信じて
自分はCocoaしかやってない。もちろん今現在のCocoaにも限界がある
ことは承知の上。
- プログラミング環境のバカ度ランキング。
アセンブラ>C++/C(CodeWarrior)>Pure Java>REALbasic>Cocoa
だいたいこんな感じです。Cocoaはいずれ用無しになるから
自分はC++しかやってない。もちろんCarbonにも限界がある
ことは承知の上。
- 128×128のアイコンなんか描けねえよう。・゚・(ノД`)・゚・。
32×32ならドット絵なんでごまかしが効いたけど。
これだけの為に3Dソフト買うのもなあ。
みんなどうしてるの?
- これって不等式だよ。
結局、アセンブラが一番バカってことでいいのか?
それとも594が一番?
- >>595
FinkでGIMPはどうよ
まさかGIMPでつくったリソースはGPL、なんてことはないよね?
ついでだけど、NSTaskとかで非GPLなプログラムからGPLのプログラムを呼び出した場合、ライセンスはどうなるんだろう? ProjectBuilderもgccつかってるからたぶんOKだと思うが、、、
- あ、3Dソフトか、、、
やっぱりみんなアイコンは3Dソフトつかって描いてるのかな?
- みんな頑張って、いつかiTteyhoshiを再開発してくれ(涙)。
- >>597
>まさかGIMPでつくったリソースはGPL、なんてことはないよね?
んな訳ない。
ほれ、GPLについて知りたきゃ下のURIからたどれる文書読みな。
http://www.gnu.org/licenses/gpl.ja.html
- >>595
POV-Rayはどう?
http://mac.povray.org
モデラーはあるかどうか知らないけど。
- みなさん、ありがとう。
>>597
フォトショ持ってるから、古いのだけど・・・
でもGIMPもよさげ、なのでいまコンパイル中。
>>601
ちっちゃい画像ですしこれで十分いけそうですね。
がんばっておぼえよかな。
- >>600
ありがと
FAQに思いっきり既出でした
>GPLプログラムの出力結果もGPLによって保護されるのは、どんな場合ですか?
>
>プログラムが、プログラム自身の一部を出力結果にコピーするときのみです。
これとか、
>GPLの下で公開されていたプログラムがプラグインを使うとして、
>プラグインのライセンスにはどのような条件がありますか?
>
>それはプログラムがどのようにプラグインを呼び出すかに依ります。
>プログラムがforkやexecでプラグインを呼び出すならば、
>プラグインは別のプログラムであり、メインプログラムのライセンス
>はそれらにはなんの条件も課しません。 (以下略)
これですな、たぶん
- age
- あの、JavaでCocoaいじりはじめたばかりの厨房なんですが、
Java-CocoaでAppleScript内のハンドラ(メソッド?)を実行した結果を受け取ったり
することって難しいですか?どこかにサンプルないですかね…
(AppleScriptアプリに対し引数を与えたりもしたい。。。)
難しいかな、ヤッパリ...
- http://www.jiiva.com/abc/
- Cocoaでファイルを書き出すと作成日が扱えないんだが(常に作成日と更新日が同じになる)どうすべきだろうか?
とりあえずTextEditのコードを見ると中間ファイルに書き出し、exchangedata()という関数で中間ファイルと上書きするファイルを交換し、ファイル作成日をもとのまま保っているみたいだ。
exchangedata()は/usr/include/unistd.hに定義してあって、/* HFS & HFS Plus semantics system calls go here */と書いてある。
つまり作成日はHFSとHFS+でしか扱えないってことだろう。でもわざわざ中間ファイルを作ったりするのも面倒というか無駄というか一時しのぎのような、、、。
ファイル作成日って重要かな?
- >>607
それは昔からAppleが推奨しているファイルセーブのやり方ですな。
上書きする場合に、書き込みエラーが起きても最悪もとのファイルだけは
安全なようにってことみたいっすよ。
- >>608
いや、それはCocoaでもwriteToFile:atomically:とかでatomicallyをYESにすればできる。
問題はそれをやるとファイル作成日が消えちまうってことで、そのためにTextEditではatomically:YESを独自に実装しているってことだと思うんだが。
- >>609
中途半端な絡みかたして、申し訳ないっす。
Cocoaのデフォルト実装ではatomicallyではあってもそのexchangedata()は
使ってないってことっすか。こういう場合はexchangedata()みたいなファイルの
中身ではなく管理情報を交換するAPIが必須のようにも思えるけど、ほかの
ファイルシステムではどうやってるんすかね。
マルチファイルシステムというなら、そのようにうまく実装してもらいたいっすね。
つーか、そのうちデフォルト実装を直すんじゃないっすか?いつになるかは分かりませんが。
バグに近い感じ。
- >>610
いえいえ。
NSFileManagerで取得できるfileAttributesはHFSのファイルタイプとクリエータがあったが、作成日はないんだよね。
これに作成日の情報を追加してくれれば、changeFileAttributes:atPath:で設定できるんだが、、、。
まあ、ファイルシステム依存の部分はNSFileManagerである程度カバーしてるようだから、いずれ追加されるかな?
- >>607
どんなタイプのアプリつくってるの?
もしエディタとかならDocument based Application
にすれば、そのへんは面倒見てくれるよ。
正直、TextEditはあんまり参考にならん。
- そうそう。
Cocoa+Javaの最初のテキストエディタのチュートリアル見てから
TextEdit見たらチンプンカンプンだった。
NSDocumentは編集途中でファイル移動しても面倒見てくれるし。
- >>612,613
もしかしてNSDocumentのwriteToFile:ofType:をそのまま使えばいいのかな?リファレンスよく見たら書いてあった。
最初、作成日とか考えてなかったから自前のメソッドでやってた。
あとTextEditは古いメソッドつかってるので、あんまり参考にならんとは思う。
- いや、NSDocumentControllerとNSDoumentは
本当に普通のDocument-basedアプリしか作れない。
その代わり、dataRepresentation周りを一通りいじるだけで
ファイル操作は一切コーディングしないで済む。
ちなみにNSDocument.writeToFileは本当に書き込みをするだけで
その他の処理はその外でやっている。
- むしろSketchの方が参考になるという罠。
- むしろSketchの方が参考になるという罠。
- age
- 質問です。
プログレスバーを回しながら裏で処理をしたいのですが、
上手くいきません。
大雑把にこういう方法でやればできるとか、
ここを見ろとかでいいので教えて下さい。
やろうとしてる事。
1、シート上でプログレスバーを回しつつ、ディレクトリを漁って画像を探す。
2、画像が見つかったらサムネイル化してシートの親ウインドウ上の独自ビューに表示
あ~~~俺の軽量得ろ得ろ画像表示ソフトが~~~!!
- >>619
そういうのはスレッド使えばできるんじゃない?
- メインスレッドでスレッドをロックすると、
プログレスバーが止まると思うのですが、
これはどうにもなりませんか?
NSMutableArryに画像を登録してますので
どうしてもロックが必要です。
また、プログレスバーを回してる間に
[NSView display];
をロック無で呼んでもいいですか?
マルチスレッドがいまいち分ってないからだとは思うんですが、
デッドロックしまくりなんです。
- >>619
Thread使わないでTimerはどう?
- (void)beginSheet {
[NSApp beginSheet:sheet
modalForWindow:window
modalDelegate:self
didEndSelector:@selector(sheetDidEnd:returnCode:contextInfo:)
contextInfo:NULL];
[NSTimer scheduledTimerWithTimeInterval:0.1
target:self
selector:@selector(run:)
userInfo:nil
repeats:YES];
}
- (void)run:(NSTimer *)timer {
//メインの処理: 実行中は描画が止まるので、処理をテキトーに分割してこのメソッドはすぐ終了させる
[indicator incrementBy:1.0];
//すべて処理が終了した場合
[timer invalidate];
[NSApp endSheet:sheet];
}
こんな感じでどうか
もしかしたらindicatorの値にlockを設定して、indicatorの値変更はTimerでやって、メインの処理はThreadを使った方がいいかも
別ThreadでNSViewを扱うときはlockFocusすりゃいいんだっけ?
- Java - Cocoa から プロジェクト内にあるAppleScriptのハンドラを引数つけて呼び出して実行させる方法はないものか?
誰か、教えてくれ、マジ、たのむ。
- >>620 >>622
レスありがとうございます。
いろいろやってはみましたが、
プログレスバーがカクカク動くのを解消できませんでした。
基本設計ミスと思います。(泣
手を抜いてViewに画像データ配列を持たせたのが失敗みたいです。
NSTableViewのように表示とデータを完全分離させようと思います。
相当時間がかかると思いますので、レスポンスがなくなりますがご了承ください。
- はじめまして、アホな質問やと思うんですけど。
Mac暦4ヶ月の初心者です、Macの前もウィンでインターネットとメール
ぐらいしかやってなかったんですけど。
Macに乗り換えてからすごく楽しいんです。仕事に使ったりしないんで、
用途は、あいかわらずネットとメール、iTunesぐらいなんですけど、
初心者なりにiConを変えたりThemeを変えたりして楽しんでます。
ここを読んで、ひょっとしたら俺も勉強したらいけるかもって勘違いしそう
なんですが、まったくの素人でもここで紹介されている本とかで勉強すれば
まねごとぐらいはできるもんでしょうか?調子に乗ってとりあえずAppleの
Developerツールはダウンロードしました(まったく使えませんが)
環境は、旧 iMac 600 OS X10.1.5です。
とりあえず明日本屋に行ってきます。やっぱ無理かな…
- まねごとしか出来ないからそのつもりで。
- >>625
まずC言語覚えた方がいいと思ふ
- >>626
十分です!
>>627
ありがとう、勉強するには「明解C言語 入門編」がいいですか?
ほかに初心者向けにいいのがあれば教えて下さい。
- Developer Toolsを既にダウンロードしているだけでも、やる気あるじゃん。
あれって結構面倒だよね。ダウンロードする前にいろいろ記入しなけりゃ
ならんし。まあ、C言語は制御構造の書き方と構造体とポインタさえ分かれば、
OKじゃないの。いまさら共用体とか覚えても意味ないし、関数もあんまり
詳しく知っててもどうせ使わないから、基本的な関数の形がわかればよい。
- Obj-C だと構造体もあんまり使わんなぁ...
もちろん C の関数を使用する場合は必要になるから覚えといて損はないけど.
あと C 言語だけだとオブジェクト指向の概念が把握しづらいかもしれないから,
慣れてきたらそういうのにも触れていけばいいかと.
- >>628
ピアソンエデゥケーションの
「Cocoa programming for Mac OS X」が日本語訳されて
「Mac OS X Cocoa プログラミング」というタイトルで
つい最近出たけど、これお勧めよ。原文のやつを読んで
これが翻訳されたらいいのになーと思ってたけど、
いい本はちゃんと翻訳してもらえるんですね。
- >>629
ワケ分からんかったから、適当に記入して、3回目ぐらいで
やっと落とせました。でも使い方さっぱり…
>>631
あ、それ立ち読みしたやつかもDebveloper Toolsの使い方とか
があってわかりやすそうやった。
明日確認して買ってきます。
また、アホみたいな質問するかもしれませんが、よろしくお願いします。
- >あと C 言語だけだとオブジェクト指向の概念が把握しづらいかもしれないから,
>慣れてきたらそういうのにも触れていけばいいかと.
はじめて言語を学ぶ人がいきなりObjectiv-Cでオブジェクト指向を勉強するのは
正直かなり敷き居が高いかもしれないと思ふ。Javaを勉強した人が他のオブジェクト指向
言語やると楽勝で理解できると思うのだが。だからといってJavaからやれとも言いにくい。
継承とかオーバーライドとかオーバーロードとか、ポリモルフィズムとか、そういうこと
が詳しく説明されているCocoa関連の日本語の本て、まだほとんど存在しないような気がする。
広文社の『Objective-C』くらいか。
- >>633
>はじめて言語を学ぶ人がいきなりObjectiv-Cでオブジェクト指向を勉強するのは
>正直かなり敷き居が高いかもしれないと思ふ。
敷き居の高さは関係ないと思うぞ。
他の言語の変な癖を付けるより、最初からオブジェクト指向を覚えた方がいい。
C言語は最後に覚える言語だよ。
- JavaよりObjective-Cのほうが憶えるの楽なのに。
って、もう何回も言いつづけているような気がする(w
- 一度Cを覚えてしまっている人には楽だよね。
それから、パッケージやアクセス権の概念が無い分覚える事も少ない。
ただし、ゼロから「オブジェクト指向プログラミング」を覚えるなら
Javaの方が楽だよ。
- 当方、VB→Javaときて、Javaが経歴が長くなってしまいました。
こんな私でもObjective-cはマスタできますでしょうか。
- 手続き指向の言語に慣れきってしまって、
オブジェクト指向の概念にとまどっている人は結構いるね。
逆に初心者の方が比較的簡単にオブジェクト指向を修得しやすいカモ。
趣味でやるなら、Objective-CでもJavaでもどっちでもいいんじゃない?
>>637
こんなページがあるよ。
ttp://members.tripod.co.jp/kwatch/macosx/objc.html
- >>637
Javaのコード1行は、ほぼObjective-Cのコード1行に
置き換え可能だよ。試してみ。笑えるほど簡単なんだ。
細かいこと言うとガベコレしないから明示的にreleaseが必要とかはあるが
- >>631
その本読んでみた。マジでわかりやすい。
いままでなかなかマルチドキュメントアーキテクチャとか、nibファイルの役割
とか理解できなかったけど、この本読んだら一発で分かったよ。
- http://www.pearsoned.co.jp/washo/mac/wa_mac05-j.html
- >>641
つい最近原本を買ったばかりでまだ読んでる途中なのに
こんなタイミングで翻訳版が (しかも低価格で) 出るとは... 鬱。
// でもこっちも買うかも (w
- >>364
亀レス&すれ違いですまんが
>'98~'99年頃に河村政雄さんがMacPowerで連載していた「役立たずBe級プログラマー
>宣言!」は、
~中略~
>残念ながら単行本は出ていません
河村さんの本なら
『BeOSプログラミング入門』
河村 政雄+武舎 広幸 著
プレンティスホール出版
ISBN4-89471-035-8
が、またBeOSのプログラミング本なら
表題 Art of BeOS Programming
著者古賀信哉
出版社ソフトバンク(株)
ISBN4-7973-0496-0
とありますよ。
まぁBeOSがああなっちゃいますたが。。。
- っていうことは、全くの初心者を対象としたこのスレのおすすめは、
「明解C言語 入門編」のあと、ピアソンエデゥケーションの
「Mac OS X Cocoa プログラミング」ってことでOK?
それともいきなり「Mac OS X Cocoa プログラミング」でも大丈夫?
全くの初心者ってのは、今までプログラミングを
全くやったことがない人ってことでお願いします。
- 「Mac OS X Cocoa プログラミング」は、Cocoa初心者向けであって、プログラミング初心者向けの本じゃないです。条件分岐やらループやら、ほんとのプログラミングの基礎は別の本で学ばないとだめでしょう。
- >>645
ありがとうございます。
ということは、全くのプログラミング初心者が
Cocoaを学びたい、と思ったら、「明解C言語 入門編」あたりを
参考に、やっぱりCから、ってことになるのかな?
なかなか大変そうな道のりだ…
- このスレにお世話になっている全くの初心者です。
その全くの基準も パソコン、英語力、数学等も含めて
多分最低ラインかも…
でも、無謀にもプログラミングに挑戦したくて「明解C言語 入門編」と
「Mac OS X Cocoa プログラミング」を買ってきました。
645さんが言う通り、「Mac OS X Cocoa プログラミング」は、
キツイです。(ぺらぺらっと、めくっただけで諦めました。)
とりあえず基本やっ!と気を取り直し「明解C言語 入門編」に
取り組んだんですが、ソースプログラムをどこに書き込んでええか分からず、
このスレをすべて読み返し、次は、実行の仕方にも悩み、なんと15と37の
足し算の結果を表示さすのに役3時間!やっぱ無理ですよね、こんな俺は…
昔、電気工事の勉強するのに初心者用の参考書でもおいつかず、算数の参考書
を買って勉強したぐらいですから。
本を2冊も買ったことだし、「明解C言語 入門編」で頑張ろうと思いますが
C言語を勉強するに当たり、基本の基本を学べる本があれば誰か教えて下さい
そんもん、あるわけないか…「くそぉ~オカンの言うこと聞いてもっと勉強
しといたらよかったぁ~」でも、もうちょっと頑張ってみます。
長くてすいません。
- Cなら今も昔も共立出版の「プログラミング言語C」でないの?
ISBN 4-320-02692-6 ね。他いらんでそ。
- >>648
あれは確かに基本は網羅してあるバイブル的な本だけど
>>647が申告しているようにゼロから積み上げようとしている人に
積極的に勧めるのはちょっと気が進まないかも...
// でも持っていて損はない本です.
- 分厚いが、「独習C」は確実に基礎から固めるには持って来いだ。
ただ、「プログラミングの真似事」で十分なら、RubyやPerlで
取り敢えず条件分岐やループだけ覚えるのも手だ。
- ここのスレであがっている本なら、どれも実績があるから大丈夫だと思うよ。
とりあえず、とっととはじめてみれ。1日でも早くコードを書きはじめるのが吉。
コンピュータ好きな人なら、プログラミングは絶対面白いよ。
まあ、面白すぎて廃人同然になるやつも続出なわけだが。
- >>643
364を書いた本人です。河村さんの「BeOSプログラミング入門」はBeOS APIの
チュートリアルなので、Mac OS Xには通用しません。古賀さんの本もやっぱりチュー
トリアル。河村さんがま~ぱに書いていた連載は、殆どが言語の解説に充てられてい
て、Cから始まってC++に入り、BeOSでウィンドウを出した辺りで終わりました。
あの時代はBeOS(β版)と開発環境がタダで手に入ったので、それを使って一から
C/C++を解説しようという企画でした。言っちゃ悪いですけど、プログラマーの人って
コード書くのは上手なんだろうけど、文章で他人にプログラミングを解説するのは苦手
な方が多いみたいで、その中で、ライターとしても活躍している河村さんの文章はとても
分かりやすかったのです。
今だとMac OS X Developer Toolsが無料でダウンロードできるし、しかもそれが
ちょっと前なら60万円はした事を知っている人なら感涙ものです。ただ、RADツール
であるが故に動作の本質がなかなか見えてこない所があるように思います。これから
プログラミングを始めて、Cの制御文とポインタは分かった。さあオブジェクト指向の
概念を理解しよう……という所で、殆どの入門書は抽象的な概念から始めますよね。
オブジェクトを人間に例えるとか何とか。それを読んだ人は「これをプログラミングに
どう利用するんだ?」と頭をひねると思います。私の考えですが、オブジェクト指向を
教えるにはまずオブジェクトの生成と破棄のプログラミングを(意味が分からなくても)
書かせてみて、後から抽象的な概念を説明した方が分かりやすいんじゃないかと思いま
す。抽象的な概念は、プログラミングのデザインパターンを考える時に必要な知識であっ
て、最初は必要ありません。実際には間違っていても、「要するに型にとっての変数が
クラスにとってのオブジェクト(インスタンス)なんだよ」と教えておいて、後で訂正
した方が分かると思うのですが、どうでしょう?
- みなさん、ありがとうございました。
思い切って始めようかなと思います。
>>651
>まあ、面白すぎて廃人同然になるやつも続出なわけだが。
それを危惧してなんだかんだと躊躇しております。
大昔、仕事そっちのけで、ファイルメーカーのスクリプトを
考えていたのもよい思い出です(w
- >>652
確かに抽象的な概念をいきなり説明されると混乱するかもしれませんが、
最初に間違った考えを説明するのは、抵抗あります。
多少遠回りになりますけど、きっちりと概念を説明した方が良いのではないでしょうか。
個人的には、プログラミングのやり方を説明するよりも、
なぜオブジェクト指向プログラミングっていうものが存在するのかを
話した方が、教えられる側にとっても目的がわかっていいんじゃないかと。
- このレスを読み、無謀にも知識ゼロから勉強しようとしている者なんですが
「明解C言語」を買い勉強を始めたんですが、いきなりつまずいています。
DeveloperTool の ProjectBuilderを使ってるんですけど、
書式文字列(format string)に日本語を当てはめると、ビルドは問題なく完了
するんですが、実行結果が文字化けしてしまいます。
気にせず進めばいいんですが、ゼロからの勉強なのでできれば本のとおりに
やって行きたいんです。Terminalを使ったらできるみたいなんですが、悲しいことに使い方がわかりません。
「そんな奴は、あきらめろ!」と言われればそれまでなんですが、まわりに聞ける人がいないんで、誰か教えてくれませんか?
自分でも調べてみたんですが…
- >>655
なんとなくわかるようなわからんような...
こういう場合は言葉での解説に加えて該当部分のソースコードを貼付けた方が
回答する方にも分かりやすいと思いますよ。
- >>656
すいません、とりあえず本のソースをそのまま打ちます。
#include <stdio.h>
int main(void) {
printf("今日は。私の名前は柴田望洋です。\n");
return(0):
}
ってやつなんですが、ビルドは完了するんですが日本語の部分が
文字化けするんです。気にせず進めばいいんですが、なんかすっ
きりしないんで。
あっ、それから警報を発する拡張表記 \a も反応しません。
なんとか日本語を表示できないでしょうか?
説明が足りなくてすいません。
- >>657
ちと自分も気になったんで試してみました。
家では問題なく日本語表示されました。
(ただreturn(0)の後はコロンじゃなくてセミコロンですね)
Build&Runで表示されません?
ProjectBuilderのバージョンや設定の問題なのかな?
- >>657
Tool>Standard tool
でプロジェクト作ってみたけど、日本語そのままでいけるよ。
(DevTools December 2001)
\aはダメ。Terminalなら鳴った。
Terminalでやるには
・ソースファイル(test.c)を適当に作成
・cc test.c -o test でコンパイル
・./test で実行
- >>658
何がアカンねんやろう。
今また、やってみたんですがだめでした。
(ちゃんとセミコロンにして)
バージョンは、1.1.1です。
Build&Runってビルドと実行のことですよね?
英語がわからないんでProject BuilderのLanguagesでEnglishの
チェックをはずしてるんですが、関係ないですよね?
あと、設定はテキストのフォントが見にくかったので14にした
ぐらいです。
無駄だと思いますが、Englishのチェックをもとにもどしてやってみます。
- 660ですけど、最悪です。
なんとかならないものかと、ProjectBuilderの環境設定で
行末コードをいろいろ変えていたら、環境設定がでなくなりました。
再起動してもだめ…
もう一度ダウンロードしなおしてやってみます。
- >>647
プログラミング歴2年、Cocoaは半年くらいの素人プログラマ
の勝手な意見ですが・・・
>パソコン、英語力、数学等も含めて
全部、慣れです。たとえば技術文書なども英語の長文に怖じ気
づかない程度の度胸があれば辞書と翻訳エンジンでどうとでも
なります。というか細かい単語は無視。
数学は電卓を持っていれば十分です。
C言語の入門書はクリティカルなものに出会ったことがありません。
お薦めはK&RとK&Rの間違いを指摘している本をセットで持つことです。
後者は最近では前橋和弥さんの本なんかは文章も平易で、ユーモアもあり
読みやすいと思います。
あとはトライ&エラーで自然とプログラムが組めるようになります。
- >>662
いきなり転けてますが、頑張りま~す。
みなさん迷惑かけてすいません。660ですが初期設定捨てたら、
環境設定がでるようになりました。
あいかわらず日本語は表示されませんが、
とりあえず、英語はちゃんと表示されるので、
このまま進むことにします。
>>659
ありがとう。
明日、Terminalをためしてみます。
- >>662
前橋和弥さんというと下の2つが新しいかな。
「C言語ポインタ完全制覇」
「C言語体当たり学習徹底入門」
個人的にこの本は一度挫折した人にもお勧めですね。
初めの頃に陥りがちな「なんで」の部分に多くページを
割いている点にも好感が持てます。
- ソースファイルの文字コードはどうなってますか?
PBの場合はShift_JISでないといけなかったと思います。
また、TerminalはOS標準のものは日本語に対応してないので
JTerminalを使わなければいけません。
こちらは文字コードがEUCにしか対応してないので文字コードをEUCに変更してから
コンパイル、実行する必要があります。
文字コードの変更はPBでファイルを選択して、[コマンド+i]で。
- >>665
文字コードを変えてみてもだめでした。
行末コードも、Unix Mac Windows全て試しましたが
だめでした。
やっぱり根本的に何かまちがってんのかな。
ちゃんとビルドは、完了してるだけに悔しい~!
- >>666
ProjectBuilder(というか DeveloperTools)はいつのを使ってますか?
私はDec 2001で問題なく日本語を扱えます。
今出てるBeta版は日本語のリソースを含んでいなかったと思いますが、関係あるかも?
詳しい検証を行っていないのであくまで妄想ですが...
- >>667
>>660にある通り1.1.1だとするとPB2.0βではないと思われ。
つか、うちはベータ使ってますがちゃんと表示できますし。
逆に古いと駄目とか、そういうことってありましたっけ?
私の記憶では、昔から普通に出力できていた気がするのだけれど。
あ、ところで環境設定でフォント替えたそうですが、
まさか日本語が表示できないフォントだったとか……?
- はにゃ?
日本語使えて当たり前だったのか。。うちも化けっぱなしダタヨ。
- >>667 668
Dec 2001です。
フォントはMonacoそのままで大きさを変えたでだけです。
行末コードっていうのは、何を選択すればいいんですか?
一応すべてでためしたんですが…
文字コードをShift_JISに変えたら、日本語入力する時に
UnicodeにするかUTF8にするかっていう表示が出なくな
ったので、行けるかもって期待したんですけどだめでした。
みなさんは、ソースだけじゃなくて結果にも日本語が表示
されるんですよね?
無駄だとは思ったんですが、一度捨ててダウンロードしな
おしてもだめでした。
あ~自分の知識の無さに腹が立つぅ~!
- >>670
エディタのフォントでなくて実行結果を出力する場所のフォント設定の話だったんですが。
でもその様子だとデフォルトからいじってないようですね。
(というかDec 2001ではいじれなかったかも知れない。うろ覚え)
あと行末コードはこの話には全く関係ないです。どれでもおんなじ。
しかし、通常は日本語入力する時にUnicodeにしますかという警告は出ないはずなんだけどなぁ……。
これが出るのは、Shift_JISには無い文字列を入力しようとした時だけですよ。
具体的にどんな文字列を表示させようとしてるんですか?
- >>671
何度もすいません。
「明解C言語」という本で勉強しています。
入力した文字列は、本のテキストどうりの、ありふれた日本語です。
「こんにちは。私の名前は柴田望洋です。」とかです。
ひょっとして入力画面が間違っているのかな?
Project Builderを立ち上げて、Atandard Toolを選び、左側のSource
フォルダ内にあるmain.cというテキストを消してその上から書いています。
デフォルトで下のようなソースがあります。
#include <stdio.h>
int main (int argc, const char * argv [ ])
{
// insert code here. . .
printf("Hello, World! \m");
rerurn 0 ;
}
この"Helle, World!"ってとこに日本語を当てまめても、ビルド結果は、
文字ばけします。
やっぱりゼロから1人では、無理かな…
- >>672
Cocoaではソース中に日本語などのマルチバイト文字は入れちゃいけない
ルールになってて、日本語を表示する方法が別にあります。
日本語の表示に関してはほっといて進んでいっていいと思いますよ。
(あんまり詳しくないのでこの辺で。間違ってたらどなたかご指摘を。)
- >>673
ありがとうございます。
無視して進みます。
あ~672の書き込みも誤字だらけや、すいません。
Atandard Tool=Standard Tool 当てまめても=当てはめても
みなさん色々ありがとうございます。
懲りずに、ゆっくりですが頑張ります。
- >>672
はい。シンタックス(構文)エラーです。正しくはこう書きます。
---------
#include <stdio.h>
int main (int argc, const char *argv[])
{
// insert code here. . .
printf("Hello, World!\n");
return 0;
}
---------
エラーが出た箇所について説明しますと、まず、main関数の第二引数、argvの前の
ポインタ(*)ですが、argvと離して書いてはいけません。「*argv」このようにくっつけて
書いて下さい。あと、その後の配列の角括弧ですが、これも中にスペースを入れては
いけません。何もないので「[]」このように書いて下さい。
それと、printfの引き数ですが、改行を表すコードは\mではなく\nです。最後。
rerurnではなくreturnです。
最初のうちはエラーメッセージの意味さえ分からずに戸惑ってしまいがちですが、
タイプミスが無いか、テキストと画面を交互ににらめっこすると、馬鹿馬鹿しいタイプミス
でエラーが出ている事が分かります。例えば行の最後にセミコロンを打たないと、コードと
しては一行として解釈してしまうので、エラーメッセージは意味の分からない事を羅列
します。Cの一行はセミコロンまでで一行なので、エラーメッセージで「セミコロン打ち
わすれてない?」などと気の利いた事は言ってくれません。
これからもめげずに頑張って下さい。私で分かる範囲なら答えます。
- 皆さん、お騒がせしてすいませんでした。
この前から、Project Buklderのビルド結果に日本語が表示
されないって悩んでいた者です。
できました!もう無茶苦茶しょうもないことが、原因でした。
恥ずかしい話なんですが、英語もわからないクセに見た目が、
カッコいいんで環境設定で日本語と英語の優先順位を入れ替えて
英語表示にしていたのが原因でした。
日本語を1番上にもどしたら、ちゃんとビルド結果も日本語で
表示されるようになりました。
また、しょうもない書き込みするかもしれませんが、
見捨てずに、アドバイスお願いします。
- >>676
ワラタ(w
微笑ましいね。頑張って。
- Macの開発者は心が狭い。あのフリーソフトの少なさは異常だ。
糞ソフトでもシェアウェア名乗ってるんだもんなぁ。
- >>678
昔はこんなものまで?っていうほどフリーソフトが多かったんだけどね。
RealBasicのせいかなぁ???
- 私もとうとう始めました。
>>664を読んで、 「C言語体当たり学習徹底入門」 でやってます。
その例題なんですが、なんだか異様にしょうもないところで
つまずいています。
#include <stdio.h>
int main(void)
{
intheight;
printf("身長を入力してください>");
scanf("%d", &height)
printf("身長は%d", height);
return 0;
}
という感じなんですが、ビルドはできて、実行の段階で、
いつまで待っても「身長を入力してください>」が出てきません。
STOPボタンが表示されています。まさか、途中で入力できない、
とかじゃないですよね?
いったい何をどうしたらいいものやらさっぱり分かりません。
だいたい、ここで聞くことがふさわしいのかどうかすら分かりません。
その点も含め、よろしくご教示お願いいたしますm(..)m
なお、scanfはわざとだそうです。
- すみません、書き忘れました。
Project Builder 1.1.1でやってます。
- >>680
Terminal.app上でやっているのなら、とりあえず日本語は使わない方が良いです。
- >>681
Project Builderでも、今のところは、日本語は使わないようにしておきましょう。
- >>682-683
さっそくありがとうございます。
英語にしてみましたが、同様です。
なお、表示させるだけなら日本語でもうまくいきます。
- >>680
ちなみにprintfの文字列が表示されないのはバッファが吐き出されてないだけで,
fflush(stdout); の一文をprintfの後に置いてやれば表示されるはずです.
// ここらへんは初心者の方には少々難しいかもしれませんが,
// 今のところあまり気にしない方がいいかも...
また, scanfにキーボードからの入力を渡してやるには, 「実行」ウィンドウの内部を
クリックしてカーソルが出た状態で入力してやればいいです.
- Project Builderの実行はバッファリングされているみたいですね。
無理矢理ですけど、
printf("how long is your height>");
fflush(0);
こうすればうまくいきますよ。
あとTerminal.app上で実行しても表示されますけど、shellによっては結果が上書きされますね。
printf("your height is %d.", height);
を
printf("your height is %d\n", height);
にすれば表示されますけど、ファイルがutf8になっていると\は円記号でなくバック
スラッシュを入力しなければなりません。
/Applications/Utilities/KeyCapsとか使えば入力できます。
Option+\かな?
- fflush(0);
はいい加減すぎました。
>>685のように、
fflush(stdout);
をおまじないとして挿入して下さい。
- >>685-687
ありがとうございました!うまくいきました。
fflush(stdout);
は、とりあえずおまじないとして入れておいて
追及しないことにします。
本当にありがとうございました。
- 少し掘り下げて言うと, printf()みたいなので出力される文字列とかは
一時的にバッファリング(ためおき)されているから, printf()したからといって
すぐに表示されているとは限りません.
そこで fflush(stdout); としてやることでバッファリングしておいた内容を
吐き出して表示させることができます.
ただ, プログラムの中にいくつもfflush()を書くのもしんどいので,
プログラムのはじめの方で
setvbuf(stdout, NULL, _IONBF, 0);
の一文を入れておいてやれば, 以降でバッファリングは無効になります.
C言語の解説書に載っているようなプログラムをProject Builderで
入力・実行する際はこれを入れておくといいかもしれませんね.
頑張ってください.
- >>689
ありがとうございます。
教えていただいて、本でも見てみましたが、
setvbuf(stdout, NULL, _IONBF, 0);
は自分では見つけられなかったので、
勉強になりました。ありがとうございました。
ところで、
>C言語の解説書に載っているようなプログラムをProject Builderで
>入力・実行する際はこれを入れておくといいかもしれませんね.
というのは、なぜでしょうか。
というのは、本には、
「scanf()のような入力要求があったときにはバッファの内容がOSに渡される」
と書かれています。今回はまさにそういうときだと思うので、
なぜ渡されなかったのだろう、と、ちょうど考えていたところ
だったんです。PBの特徴(?)なのでしょうか。
- >>690
PBがどういう挙動でそこらへんを処理しているのかは私も詳しく知らないです...
とりあえず「仕様」ってことですかね. (w
Terminalからだと特に問題はないんですけどねぇ...
- プラットフォーム非依存のJavaプログラムって、メニューがウィンドウ内にあるじゃないですか。
あれをMac OS XネイティブなGUIにするには、どれくらいの労力が必要なのでしょう?
そしてそれは何もプログラミングについてしらない奴が最初から勉強をはじめた場合、どれくらい勉強すればできるようになるでしょう?
- >>691
分かりました。仕様ってことで追及しないでおきます。
Terminalは、なんか苦手なので(w
PBで頑張ります。ありがとうございました。
- >>>680
ところでそれは>>441で思いっきり既出の話題なんですが……。
できればスレッドの中をそれらしいキーワードで検索するぐらいはやっておいてくださいね。
今回なら、"scanf"で検索するだけで見つかってたはずです。
ブラウザで毎回スレッド全部を取得してくるのは非効率的なので、CocoMonarなどの2ch専用ブラウザを使うと良いと思います。
- >>694
すみません。>>440とはまた別の話だと思っていました。
>>440は実行の順番が違う、という話で、私の問題は、
実行しない、ということで、違うのだと思っていました。
根は同じことなんですね。ありがとうございました。
- 画像ビューワーみたいな物を作ろうと思い、
NSScrollViewの中にNSImageViewを入れているんですが、
どうやっても左下の方にNSImageViewがきてしまいます。
これを左上の方に固定するにはどうすればいいのでしょうか?
- 左下ってどういう意味?
スクロールが上と右側についてしまうってこと?
- >>696
たぶんNSViewのサブクラスを作って
- (BOOL)isFlipped {return YES;}
を実装してそれをNSScrollViewのdocumentViewにセットして
この中にNSImageViewをいれてみるといいんでない?
- >>697 え~と、
┌───────┬┐
│ これが ││
│NSImageView││
├───────┘│
│ これが │
│NSScrollView │
└────────┘
こんな感じにしたいんですけど
┌────────┐
│ これが │
│NSScrollView │
├───────┐│
│ これが ││
│NSImageView││
└───────┴┘
こんな風になっちゃうんです・・・
ゴメソ、もっと分かりにくくなった・・鬱
- >>692
おおざっぱに。
・Javaを勉強する。(本一冊)
・Swingを勉強する。(本一冊)
・そのプログラムを解読する。(この状態なら下手すれば一生)
大抵不勉強な輩が標準のメニューバーの形にせずに
Viewに直接メニューを放り込んでいるからだろうとは思うが。
- >>698
レスありがとうございます。
isFlippedで従来の座標に変える(?)というのは分かりましたが、
NSViewのサブクラスの中にNSImageViewを入れるというのがよく分かりません。
NSViewのサブクラスのインスタンス変数にNSImageViewを追加するんですか?
・・すいません・・逝ってきます・・・
- >>701
NSViewにはsubviewを追加できる
NSView *myView = [[NSView alloc] initWithFrame:frame];
[scrollView setDocumentView:myView];
[myView addSubview:imageView];
[myView release];
- >>702
早速試してみます!
どうも有り難うございます
- エディタを作ってみた
http://isweb44.infoseek.co.jp/computer/cocoedit/
暇だったら使ってみて
- プログラミング超初心者です。
あまりに基礎的な質問かと思い書き込みがはばかられましたが、
どうしても困ってまして…
今、cocoaアプリで簡単な計算ソフトを作っています。(私用のため)
通常の計算は、「cocoaはやっぱり」にあるような割り勘アプリの変形でなんとかなっていたのですが、
今回、数値の羅列したテキストファイルから順に数値を読み込み、
その値を計算させてみようと思い、それの実現で今悩んでいます。
似たようなソースでもあれば参考にできるのですが、見つけられなくて(^^;
よろしければ、ご教授お願いいたします。
- 漠然とし過ぎて激しく意味不明だ。
データファイルの読み込みで困っているのか?
- >>705
データファイルを適当なセパレーターを入れた形で保存。
NSOpenPanelでフルパス取得。
[NSString stringWithContentsOfFile:]
でNSStringに格納。
[NSString componentsSeparatedByString:]
でセパレータで分割。
- 付けたし
[NSArray objectEnumerator]
でNSEnumeratorとってきて
[NSEnumerator nextObject]
がnilになるまでループ。
- 暇な人いないの?
一応ソースも公開してるんだが、、、
ところでCocoaのTextHandlingSystemって枯れてないのかな?
viewのboundsを変更するとNSRunStorageとかがでたり、あとkotoeri関連で落ちたようなことがあった。
特にNSLayoutManagerのバックグラウンドでのレイアウト中に落ちるのが痛かった。何かやり方悪いのかな?
でもTextEditでもページサイズ表示にすると落ちるからなぁ。バグかなー?
- >>704
ソース落とせないッス。文字化けな画面に移りますが。。。
なんか保存の仕方が悪いのかな?
いちおう書いておくとIE5.2.1。
- >>710
.dmgなのでリンクをディスクにダウンロードでやってみて下さい。
- >>704
ちょっとだけさわってみたよ。
エディタから直接シェルをたたけて、結果をテキストに流し込めるのは面白いね。
もうちょっと操作方を練り込めばかなり便利になりそう。
- >>712
ありがとう。
タスクバーはパッと思い付いた機能なんだけど、思った以上にうまくいったかも。
でもマルチスレッドで苦労したな。
- >>712
>エディタから直接シェルをたたけて、結果をテキストに流し込めるのは面白いね
おお!!それいいね。
>>704 質問
Finderからファイルを開いているVIEWにD&Dすると、アイコンになるけど開けないの?
- >>714
ドラッグドロップはあんまり考えてなかった。
やりかたがよくわかんないけど、NSViewのdragFile:fromRect:slideBack:event:あたりかな?でもこれだとサブクラスでオーバーライドしなきゃいけないような。
つーかdrag dropは意外にめんどくさい。
ちなみにエディタ自体はこれ以上変更する気はないんで、ぜひソース落として改良して下さい。
- >>714
それは多分RTFDの添付ファイルになっていると思うんだけど。
NSWindowのサブクラスでvalidateMenuItem:すると
何故かundo;とredo:が引っ掛かるんだけど、
ここでundoManagerからundo/redoMenuItemTitleを貰って
メニュー書き換えようと思ったら変な「&」が先頭に付いてくる。
日本語だとそうでもないんだけど、回避する手段ってある?
- >>704
最初ソースを見てNSDocumentにほとんど何もやらせていないので
「へ?」と思った。
NSWindowControllerに文書の内容の保持までやらせているんだね。
- >>717
そうです。
最初、NSDocumentとNSWindowControllerで処理を分担してたこともあったんだけど、だんだん区別がつけにくくなってきて、
わけ分かんなくなったんでNSDocumentの処理をNSWindowControllerに丸投げするようにしちゃった。
WindowControllerを使ったのはスタイルとかのデータも別のWindowControllerを追加して使うかなと思ったからだが、結局やんなかった。
あとオープンの処理もWindowControllerがやってる。
これもWindowControllerを独立できて楽かな~と思ってやったんだけど、失敗だったかも。
ちなみにクラス等の概要はoverview.txtに書いてあります。
- >>718
逆にAppleのサンプルだと大概NSDocに
NSWinConのやる事をやらせてるね。
自分はそう言う時は
ファイルシステム/データモデル関連→NSDoc
ユーザーインターフェイス関連→NSWinCon
で分けている。
データの操作をユーザーアクションからワンクッション置くんで
ちょっとクドくなる嫌いはあるんだけど。
- どなたかiTteyoshiを何とかしてくだされー。
漏れはプログラム書いたことないのでさっぱりだー。
- >>720
言うのは簡単、やるのは難しい
- ペーストボード履歴アプリケーションを作ろうと思っているんですけど、
他のアプリケーションが、「ペーストボードにコピーした」タイミングを
ハンドリングするうまい方法が思いつきません。
NSPasteboardのドキュメントを見た感じだと、そういうのはなさそうだったので・・・
どなたかお知恵を貸していただけないでしょうか?