[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 08/18 21:51 / Filesize : 212 KB / Number-of Response : 871
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Objective-C [ObjC part:3];



1 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 12:18:31 ]
Objective-C(オブジェクティブ シー)はプログラミング言語の一種。C言語をベースにSmalltalk型のオブジェクト指向機能を持たせた上位互換言語。
 (Wikipedia:ja.wikipedia.org/wiki/Objective-C より)

前スレ
pc11.2ch.net/test/read.cgi/tech/1106983092/
前々スレ
pc5.2ch.net/tech/kako/990/990574267.html

610 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 05:30:37 ]
>>609
土曜は休みだろ?

611 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 05:38:19 ]
俺は仕事だけどな。

612 名前:デフォルトの名無しさん mailto:sage [2008/08/24(日) 15:23:24 ]
ttp://developer.apple.com/documentation/DeveloperTools/Conceptual/LowLevelABI/Introduction.html

613 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 02:10:01 ]
この数レスに腹抱えて笑ってもた

614 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 02:28:21 ]
あなたつかれてるのよ…

615 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 03:11:51 ]
伝統的なアレだと、C式は後ろから積んで戻ってから呼び出し側がポップ。
Pascal式は前から積んで呼ばれた先でポップだった。

616 名前:デフォルトの名無しさん [2008/08/30(土) 13:55:06 ]
ttp://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-blocks-test-8.c?view=markup

よくわからん

617 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 15:59:01 ]
「nul」を「にるぽ」と呼ぶスレ

618 名前:デフォルトの名無しさん [2008/09/08(月) 19:07:19 ]
>>617
nil じゃね?



619 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 19:19:35 ]
うふふ。すごくにるにるしてるわヨ。

620 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 15:47:58 ]
ににる にる にる ににるに〜
ににる にる にる ににるに〜



621 名前:デフォルトの名無しさん [2008/09/09(火) 21:15:37 ]
なあ、もうちょっとまじめにやらないか?

622 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 22:32:50 ]
3時間後の発表でiPod全機種のOSがiPhoneに移行したらObjective-Cの仕事が激増するかな。
ローコストモデルでは通信できない可能性が高いからプログラマとしては魅力ないのかな?
もっともNDAがあるから職業プログラマは話せないと思うけど

623 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 22:52:44 ]
iPhoneでファイルの読み書きってどうすんの?
NSDataオブジェクト作ってwriteToFileすりゃいいってのはなんとなくわかるんだけど…。

624 名前:デフォルトの名無しさん mailto:sage [2008/09/15(月) 02:39:39 ]
GNUStep の AppKit っていつから LGPL になったの?
以前は GPL だった気がするけど、勘違いかな...

625 名前:デフォルトの名無しさん mailto:sage [2008/09/15(月) 20:58:09 ]
まあ、LGPLのほうが使いやすいからいいじゃん

626 名前:デフォルトの名無しさん mailto:sage [2008/09/26(金) 15:07:40 ]
Unicodeで
\u3042\u3044\u3046
とエスケープされた文字を
あいう
と変換する方法をご教示ください。

627 名前:デフォルトの名無しさん mailto:sage [2008/09/27(土) 22:21:26 ]
初心者です。
cocoaはmvcによって
アプリを開発していくことはよく分かりました。

ただIBで作成したNSViewに直接modelで作成したクラスを割り当てると
この場合controllerを解しているわけではないですよね?

そういう解釈で良いんですか?

628 名前:627 mailto:sage [2008/09/27(土) 22:23:12 ]
>modelで作成したクラス・・・

というよりxcodeで記述したクラスといったほうがいいのかな?




629 名前:デフォルトの名無しさん mailto:sage [2008/09/27(土) 23:12:46 ]
どんなクラスか知らんけど
通常、1クラスしか使わない場合、
ないのはモデルということになる。

630 名前:デフォルトの名無しさん mailto:sage [2008/10/02(木) 00:50:56 ]
Unicodeで
¥u3042¥u3044¥u3046
とエスケープされた文字を
あいう
と変換する方法をご教示ください。

631 名前:デフォルトの名無しさん mailto:sage [2008/10/02(木) 00:53:18 ]
どっかで見たな

632 名前:デフォルトの名無しさん mailto:sage [2008/10/02(木) 04:47:43 ]
>>631
ちょっと上でみたよね

633 名前:デフォルトの名無しさん mailto:sage [2008/10/02(木) 05:09:33 ]
ごめん。俺あんまりわかんないけど

NSLog(@"¥u3042");  // u の前は半角の¥(円マーク)

これだとそのまんまコンソール出力されたけど

NSLog(@"¥u3042"); // u の前は半角の\(バックスラッシュ)

だと、普通に”あ”って出力されたよ。


Unicodeエスケープとかでググれば何か出るんじゃない?
英語で検索した情報多いかもね。

634 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 22:14:05 ]
ポリモーフィズムを実現するに
スーパークラスもサブクラスも
関係ない
id型ひとつあればよい

635 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 23:26:29 ]
普段はゆるーくメッセージング、性能が気になるところはCの関数呼び出し。
Obj-CがあればC++要らんっていうのも分かる。

636 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 08:31:31 ]
この前本屋いったら、UNIXナントカっていう雑誌の特集がObjCだった

637 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 09:06:13 ]
>>636
UNIX magazine の10月号かな

638 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 10:20:26 ]
わかんないけど、季刊誌だったような



639 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 10:31:37 ]
UNIX magazine 2008年10月号
MacからiPhoneまでを網羅するアップルの開発言語Objective-C入——前編
www.ascii.co.jp/books/magazines/unix.shtml

640 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 19:11:30 ]
Objective-Pascal
Object C

641 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 19:53:27 ]
買おうと思ったら1500円したので帰ってきた

642 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 19:55:08 ]
季刊だったのでやっぱ買いに行くことにした

643 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 20:59:23 ]
お店閉まってた><

644 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 15:28:24 ]
買ってきた。
冷静に考えると、2冊分の金で
専門誌買えばよかったかもしれない。

645 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 16:54:44 ]
>>644
読む価値ある?

646 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 16:58:32 ]
前編ってことは1月号でも特集やるのか?

647 名前:デフォルトの名無しさん [2008/10/06(月) 18:16:03 ]
萩原本でいいと思う。

648 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 19:32:01 ]
>>644
言おうと思ったけど黙っていたのに気づいてしまったか



649 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 19:47:03 ]
立ち読みしてきたんだが、「モダンシンタックス」って何?

650 名前:デフォルトの名無しさん [2008/10/06(月) 20:40:16 ]
そりゃおまえ現代文法だろ

651 名前:デフォルトの名無しさん mailto:sage [2008/10/09(木) 23:25:39 ]
NSViewってコントローラー無くても四角形とか描写できるよね。

あれはなんで?
コード見ても描写を担う関数が仮引数とか受け取ってるみたいだけど・・・・・・・。
一体この仮引数はなんなの?

652 名前:デフォルトの名無しさん mailto:sage [2008/10/09(木) 23:52:57 ]
>>651
何を引き受けているのかってことかな?

確かにNSViewって不思議。
他のオブジェクトだったらIBとXcodeはアウトレット、アクションとコントラーを介して
つながっているけど、NSViewってクラスでそのままリンクさせることができるもんね。



653 名前:デフォルトの名無しさん mailto:sage [2008/10/10(金) 00:29:12 ]
>>652
確かにcocoaで良くわからないところだった。
NSTextViewでもコントローラーをソースとして登録しておくって考え方も
.net出身者としては腑に落ちなかった。

654 名前:デフォルトの名無しさん mailto:sage [2008/10/10(金) 09:03:01 ]
そのあたりはいくらでも説明しますが、
何が疑問なのか曖昧すぎてわからないので、もうちょっと詳しく書いてくれませんか?
>>651 さんとかどの関数の話をしてるの?
>>652 はなにがいいたい?クラスでそのままリンクって?
>>653 はどういうこと?コントローラをソースとして?ソースって何?

655 名前:651-652 mailto:sage [2008/10/10(金) 14:21:46 ]
>>654
ドモ、ありがとうございます。超初心者です。

このサイトにあるGraphic関数です
homepage.mac.com/mkino2/cocoaProg/AppKit/GraphicFunctions/GraphicFunctions.html#overview

疑問1
このサイトで四角形を描写させるためのサンプル全ての関数において
NSFrame型のframeRectっていう仮引数をうけとっているよね。
でも関数の中身をみるとそんな仮引数を利用している形跡がない。
別に宣言する必要が無いのでは?というのが最初の疑問。

疑問2
サンプルコードをダウンロードしたプログラムにはコントローラー(青色の立体箱)がなかったんですよね。
僕はIBで作成したインターフェイス部分とX-codeで記述したコード部分を繋ぐためには
コントローラーでアクションとアウトレットで接続する必要があるって理解していたから
コントローラーがなくてなんでX-codeで記述した関数がインターフェイスに反映されるのか全く分かりませんでした。

そしたらこのサンプルではIBのNSViewのクラス名部分がX-codeで作成したクラスに
なっていたんです。
これはコントローラーが介在していないってことですよね。?



656 名前:デフォルトの名無しさん mailto:sage [2008/10/10(金) 15:18:45 ]
>>655
NSViewのサブクラスは -drawRect:(NSRect)frame;をオーバーライドして描画をやります。
で frameにはview自身の大きさが入ってきます。
ので、それに習っただけでしょう。

DLしてないけど、多分NSViewのサブクラスがwindowに貼り付けてませんでしたか?
最後の段からすると多分そうなってるんだと思うけど、
そうしておくと、nibロード時にサブクラスを作ってそこに貼り付けてくれます。
(実際には違いますがイメージはそんな感じです)
で、NSViewのサブクラスの
-drawRect:(NSRect)frame;
で描画処理が行われているはずです。

657 名前:デフォルトの名無しさん mailto:sage [2008/10/10(金) 15:20:24 ]
コントローラはデータを扱うクラスですので、データを使ってなければ不要です。

658 名前:デフォルトの名無しさん mailto:sage [2008/10/10(金) 15:53:59 ]
>654じゃないですが、こんな感じじゃないでしょうか。

答え1
- (void)drawRect: (NSRect)frameRect は nib (xib) が読み込まれて初期化する
時や絵を書き直す過程で呼ばれる。frameRect は描画する場所を限定する為のもの。
描画効率upの為に customView の一部に限定する事もできる。初期化の時は多分、
customView.bounds で view の全体を描画させているんだと思うな。

答え2
コントローラは介在していない。ていうか、MVC の View を直接いじっていて、
Model、Controller が無い状態。

と、書いているうちに >656 さんが書いてくれましたね。customView が直接 window に
貼付けられていました。



659 名前:デフォルトの名無しさん mailto:sage [2008/10/10(金) 20:40:38 ]
>>653
> .net出身者としては腑に落ちなかった。

そこがCocoa(MVCパターン)と.NET(n層パターン)のアーキテクチャの違いというやつだ。
MVCのViewは、主に描画だけを行いデータの保持や管理をしない。Model内でデータを更新すると、それに連動してるViewが勝手に再描画される感じ。
n層パターンだと、ビジネス層で処理したデータをプレゼン層に送りこんで、プレゼン層側でデータを保持したり処理したりする。

660 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 01:07:34 ]
>>639
書いてるのはシロタンですぞw

retain count方式の説明に微妙に誤解を招きそうな表現があった気がした。

661 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 11:50:01 ]
>>656-658

イメージとしては理解できました。
本当にありがとうございます。


662 名前:デフォルトの名無しさん mailto:sage [2008/10/19(日) 23:32:59 ]
10.5以降にはNSViewControllerがある

663 名前:デフォルトの名無しさん mailto:sage [2008/10/21(火) 22:59:05 ]
x-codeで開いたソースファイルの文字を大きくしたいんだけど、
やりかた知ってますか?

一応必死に探したんだけど見つかりませんでした。


664 名前:デフォルトの名無しさん mailto:sage [2008/10/22(水) 00:07:56 ]
環境設定 -> フォントとカラー

665 名前:デフォルトの名無しさん mailto:sage [2008/10/22(水) 02:22:42 ]
>>663

>>664の場所にあるよ。
フォントサイズのみの指定って感じのインターフェイスじゃないからわかりにくいっちゃあわかりにくい。
フォント名をダブルクリックしてフォントパネルの中で指定。

666 名前:663 mailto:sage [2008/10/22(水) 20:35:04 ]
>>664-665
ありがとう!
フォントサイズをこんなにも決め細やかに設定できるなんてすばらしすぎる。
背景もモダンにして高級感たっぷり。

ありがとう!

667 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 21:51:10 ]
>>659
なるほど。
だから
.NETではインターフェイスに入力したデータがコードにも受け継がれるけど、
cocoaの場合はインターフェイスに入力したデータはコードでは受け継がれずに
関数で取りに行く必要があるのか。
めんどくさいよね。これ。

668 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 22:53:40 ]
>>667
つまり
textBoxの値をlabelに反映するだけのアプリケーションで説明すると

.netの場合
labe.text = textBox.text;
で終了。

cocoaの場合
labeField = [NSTextview setStringValue : textField];
さらにIBでlabelField,textFieldをアウトレットでコネクトする必要あり。

面毒せー!
でも高度なテクニックはcocoaのほうが分かりやすいんだよなー



669 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 22:56:19 ]
なんでも関数にするからだめなんだよ。

.netはcocoaを見習いようがないけど、cocoaは.netを見習えるような気がする。


670 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 23:36:30 ]
BaseTenがダウンロードできないんだけど・・・・・なんで?


671 名前:デフォルトの名無しさん mailto:age [2008/10/27(月) 23:53:43 ]
頭わる…晒しage

672 名前:デフォルトの名無しさん mailto:sage [2008/10/28(火) 00:02:21 ]
かかって来い!

673 名前:デフォルトの名無しさん mailto:sage [2008/10/28(火) 00:52:53 ]
>>668
>cocoaの場合
>labeField = [NSTextview setStringValue : textField];
>さらにIBでlabelField,textFieldをアウトレットでコネクトする必要あり。
何年前の話をしてるんだ?
10.3 のときから、そんなのはコードを一行も書かなくても
Interface Builder でバインディングをすればできるわけだが ...
developer.apple.com/jp/documentation/Cocoa/Conceptual/CocoaBindings/
とかみろ。もっと新しい英語版はこちら:
developer.apple.com/documentation/Cocoa/Conceptual/CocoaBindings/CocoaBindings.html

674 名前:デフォルトの名無しさん mailto:sage [2008/10/28(火) 01:02:43 ]
>>673
ありがとー

実は入門書しか読んでねー。

675 名前:デフォルトの名無しさん mailto:sage [2008/10/29(水) 23:21:44 ]
もうちょっと活発に議論してほしい・・・・・・。

そこでバインディングについて簡単に説明して。
一体どんなすごいことが出来るの?

676 名前:デフォルトの名無しさん mailto:sage [2008/10/30(木) 00:01:21 ]
バインディングは議論するほどたいしたことじゃないし、
最近 Cocoa やってるひとなら常識だから。

View と Controller 間の glue
>.netの場合
>labe.text = textBox.text;
>cocoaの場合
>[labeField setStringValue : [textField stringValue]];
を書かなくてよくなるだけです。

インターフェースビルダーで、各 UI 要素が controller のどの変数を
監視/設定するかを設定出来るという機能です。(それだけじゃないけど。)
一番簡単な例は、controller に a という変数を用意して、
label も textfield も a を監視するように設定できます。
そうすると、textfield の内容が変更されると、自動で a が変更されて、
それに伴ってそれを監視している label も自動で変更されると。

別に凄いことじゃないです。

>>673
に引用されてる先を読んでください。

677 名前:デフォルトの名無しさん mailto:sage [2008/10/30(木) 00:02:41 ]
書きわすれましたが、
.net でも WPF だったか XAML だったかで同様のことができるんじゃなかったっけ。

678 名前:デフォルトの名無しさん mailto:sage [2008/10/30(木) 01:52:23 ]
週刊アスキーを読ませてもらった、大金持ちになりたいです。



679 名前:デフォルトの名無しさん mailto:sage [2008/10/30(木) 02:11:38 ]
>>675
outletを用意しなくても済むため、コード量を劇的に減らすことができるって、HMDTさんが言ってた。
developer.apple.com/jp/documentation/Cocoa/Seminar/Cocoa3/1.CocoaBinding.mov

680 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 23:06:49 ]
>.netの場合
>labe.text = textBox.text;
>cocoaの場合
>[labeField setStringValue : [textField stringValue]];

いちおう、cocoaでも
labeField.stringValue = textField.stringValue;
と書ける。objc2.0なら




681 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 23:37:41 ]
明示的にプロパティじゃない setter をプロパティ構文つかうのは
Apple 的には推奨してるんだっけ?

developer.apple.com/documentation/Cocoa/Conceptual/ObjectiveC/Articles/chapter_2_section_3.html

anObject.retain はするなとかいてあるが
.stringValue はいいのかな。

682 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 16:53:15 ]
>>681
その文書を読む限り推奨も否定もしてないようですね。
ただ、書いてる内容を総合的に見れば、ドット構文を一般的なメソッド呼び出しの代替えとして使うな、ということのようだから、ちゃんとしたアクセッサメソッドならドット構文を使ってもいいんじゃないかな。
とりあえず、コンパイルエラーとかも出ないし。


683 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 01:31:54 ]
ボタンを押したらピコーンて音声ファイルが再生されるようにしたいんですけど
なんて書けば良いんでしょうか・・。超低レベル質問なのは分かってるんですけども

684 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 02:34:21 ]
>>683
AppleのドキュメントとかAPIリファレンスとかでそれっぽいとこ探せばいいのでは?
そこで分かったそれらしいクラス名なりメソッド名とかを使ってググるとか。
APIリファレンスとかにはそのメソッドとかを使ったAppleのサンプルへのリンクがあったりするからそれを見てみるとか。

ClashLandingってAppleのサンプルにそれっぽいのがあるらしい。



[オーディオ] - iPhoneアプリケーション開発
d.hatena.ne.jp/iphone_dev/searchdiary?word=%2a%5b%a5%aa%a1%bc%a5%c7%a5%a3%a5%aa%5d

試してみるとか?

俺も再生の仕方とかわからない・すまない。

他に詳しい方おしえてあげてください。

685 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 03:39:08 ]
>>683
質問するスレはCocoa はさっぱり
pc11.2ch.net/test/read.cgi/mac/1224960170/
のほうが適当だとおもいますよ。
あと、質問するときはどのていどまで Cocoa を知ってるのか書いてください。
Interface Builder つかってボタンを表示する方法はしってるのかとか。
ではあちらのスレで会いましょう。

686 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 15:01:44 ]
>>684
ありがとうございますとりあえず音は出せるようになりました!
半日かかりましたけどw
>>685
見落としてました。そのスレが自分向きですね
教えて君にならないよう頑張ってみます

687 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 17:01:52 ]
ttp://blog-imgs-40.fc2.com/n/e/t/netamichelin/2008110206.jpg

688 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 02:19:43 ]
NSTimerのscheduledTimerWithTimeInterval:target:selector:userInfo:repeats:
関数を使って一定間隔ごとにある関数を呼び出すタイマークラスを作成したいのですが、
上手くいきません。

targetに問題があるのかなと考えているのですが、
メイン関数でタイマークラスを作成し上記の関数をよび出す場合、
targetはselfでいいのでしょうか?









689 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 09:11:25 ]
僕らは超能力者じゃないんだからもうちょっと詳しく書いてもらわないとわかりません。
main 関数ってほんとに C の main() ?
それだと NSTimer うごかないよ。Runloop 回さないと。
あと、この質問は Objective-C プロパーというより
たぶん Cocoa の話なので、>>685 にもあるように
新マック板の Cocoa スレに行ってください。

690 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 09:25:56 ]
>>688
おそらく NSTimer はちゃんと出来ているけど、NSRunLoop に渡してないだけな気が
しますが…… NSRunLoop の addTimer:forMode: を参照

691 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/11/17(月) 04:06:06 ]
Objective-Cで定数って普通どうやって定義するのかな?
Javaみたいに、関係あるクラスの中で定義して、AClass.CONST_A_VALみたいに使いたいんだが。

692 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 04:42:09 ]
できません。
Global namespace に大量に定数を定義するのが Obj-C 流。
(あまりいいことではないとおもうけど、そういうものなんだからしかたがない。)
そのかわり定数の名前がかなり(めちゃくちゃ)長くして衝突をさけます。
NSUTF8StringEncoding
とか
NSApplicationDidUnhideNotification
とか。
Java なら NSApplication.DidUnhideNofitication とかするところを
点を一個抜く感じだと思います。

693 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/11/17(月) 05:02:17 ]
>>692
うう、そうですか。
それがObjective-C流ならしかたない(泣。
defineとconstではどっちの方がいいんでしょう?

694 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 05:38:41 ]
う〜ん、普通は .h では const extern にしておいて、
.m で実際の値を定義するんじゃないですかね?
少なくとも Cocoa の標準ヘッダではそうなってますし僕もそうします。

Obj-C というか C だと const の中身までヘッダにかくと
リンク時に衝突するとおもいます。ご存知なら失礼。

695 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/11/17(月) 10:45:31 ]
>>694

いや、とても参考になりました。
ありがとうございます。

696 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 17:46:29 ]
Obj-CからIllustratorドキュメントを操作する場合って直接は無理ですよねぇ…
JavaScript書いてそれをObj-Cから実行って感じですか?

697 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 00:32:39 ]
.ai のフォーマットを知ってたら直接操作出来るんじゃない?
Mac 上でやるんなら JavaScript だけじゃなくて AppleScript もつかえるでしょう。
Obj-C から AppleScript なら呼び出し放題だけど。
developer.apple.com/documentation/Cocoa/Conceptual/ScriptingBridgeConcepts/


698 名前:696 mailto:sage [2008/11/18(火) 16:10:37 ]
JavaScriptでいけた
ありがとー



699 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 11:49:45 ]
エトワレの 0.4 が出たよ。
etoileos.com/news/archive/2008/11/16/2300/
なんだか独自の方向に突っ走ってる気がするが...

700 名前:デフォルトの名無しさん [2008/12/02(火) 22:43:50 ]
>>699
(´・ω・`)ショボーン
imepita.jp/20081110/801860
imepita.jp/20081130/027170


701 名前:デフォルトの名無しさん mailto:sage [2008/12/04(木) 03:22:21 ]
Obj-C で visitor pattern ってどうやるのがいいのかな?
上のほうで一度話題になりかけてるんだけど、
なんか急激に煽り煽られになっててよくわからん。

C++ なら
HogehogeVisitor* visitor にたいして
ループ{
element->accept(visitor)
} として、 element の accept メンバ関数で更に
visitor->visit(this)
となってるわけだけど。ネットの議論をいろいろ読む限り、
Obj-C では単に
HogehogeVisitor を追加したくなったところで、
各 element をカテゴリで拡張して
@class HogehogeVisitorInfo;
@interface/implementation FooElement (HogehogeVisitor)
-(void)doHogehoge:(HogehogeVisitorInfo*)hoge;
@end
@interface/implementation BarElement (HogehogeVisitor)
-(void)doHogehoge:(HogehogeVisitorInfo*)hoge;
@end
としてしまって
HogehogeVisitorInfo* visitorInfo=[[HogehogeVisitorInfo alloc] init];
ループ {
[element doHogehoge:visitorInfo];
}
でいい気がするんですが、もっといい方法ありますか?

702 名前:デフォルトの名無しさん [2008/12/19(金) 19:10:07 ]
objective-cってc++みたいにtemplateあるの?

703 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 19:21:55 ]
汎用型の id はあるが基本型は入れらんない。

704 名前:デフォルトの名無しさん mailto:sage [2008/12/20(土) 06:36:47 ]

void CopyVector( double *v1, double *v2 ) {
v2[0] = v1[0];
v2[1] = v1[1];
v2[2] = v1[2];
}

は、以下だと駄目みたいですがどう書くのでしょう?

-(void)copyVector:(double *)v1 To:(double *)v2 {
v2[0] = v1[0];
v2[1] = v1[1];
v2[2] = v1[2];
}

705 名前:デフォルトの名無しさん mailto:sage [2008/12/20(土) 06:55:08 ]
-(void)copyVector:(double *)v1 To:(double *)v2
このインスタンスメソッド自体にエラーが生じるの?

よければそのエラーの内容も書いてほしいんだけど・・・・・・・

それともただ単に仮引数V2に渡した引数にコピーされていないだけなの?



706 名前:デフォルトの名無しさん mailto:sage [2008/12/20(土) 07:23:41 ]
インスタンスメソッドだと実体化したオブジェクトに引き渡されるだけで
本の配列には全く関係ないと思うんだよね。

v2のアクセッサメソッドを定義する方法もあるだろうけれど、
クラスメソッドにしてみてもだめ?


707 名前:デフォルトの名無しさん mailto:sage [2008/12/20(土) 07:24:44 ]
double a[2][3];
a[1][0]=a[1][1]=a[1][2]=1.0;
copyVector:a[1] To:a[0];

とすると、copyVector のところに、error: syntax error before 'To' と出てしまいます。

708 名前:デフォルトの名無しさん mailto:sage [2008/12/20(土) 07:27:31 ]
それはいったい何をやっているの?

インスタンスメソッドだよね?
ちゃんとオブジェクトに送ってるの?



709 名前:デフォルトの名無しさん mailto:sage [2008/12/20(土) 07:30:28 ]
+(void)copyVector:(double *)v1 To:(double *)v2 {
v2[0] = v1[0];
v2[1] = v1[1];
v2[2] = v1[2];
}
ということでしょうか? 結果は同じ様です。

710 名前:デフォルトの名無しさん mailto:sage [2008/12/20(土) 07:34:28 ]

[self copyVector:a[1] To a[0]];

でどう?






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<212KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef