1 Name: 名称未設定 [] Date: 04/08/08 10:03 ID: gJ6llCwG Be:
初心者は教えてくれる方への感謝を忘れずに。
上級者も初心者だった頃の気持ちを忘れずに。

前スレ
Cocoaはさっぱり!!! Version.3
http://pc5.2ch.net/test/read.cgi/mac/1063295248/
2 Name: 名称未設定 [sage] Date: 04/08/08 10:13 ID: BxJfhJej Be:
ココアはやっぱり森永。2get
3 Name: 名称未設定 [sage] Date: 04/08/08 11:41 ID: /JfrC3cn Be:
ココア何処?
4 Name: 名称未設定 [sage] Date: 04/08/09 08:06 ID: HMNMhMFQ Be:
ほっしゅ、ほっしゅ。
5 Name: 名称未設定 [sage] Date: 04/08/10 10:41 ID: 9qg4wdM9 Be:
Cocoa 開発環境 Xcode 1.5
http://pigpen.memphis.edu:6969/
6 Name: 名称未設定 [sage] Date: 04/08/11 16:16 ID: K+bUKQul Be:
Cocoa対応マルチプラットフォームフレームワーク wxWidgets
http://www.wxwindows.org/
7 Name: 名称未設定 [sage] Date: 04/08/11 23:50 ID: wtfGuwVK Be:
>>6
wxWidowってC++のフレームワークじゃなかったっけ?

普通に考えるとCarbon対応だと思うのだが。もしやObjective-Cへのラッパーとか搭載したとかなのか?
とりあえずざっと眺めた感じじゃそういう記述は見当たらなかったんだが。
8 Name: 名称未設定 [sage] Date: 04/08/12 10:21 ID: polUM6OC Be:
cocoaアプリケーションで
fopen( "file", "r" )
とやると失敗するけど、これを回避する方法はあるのかな?

フルパスで指定すればfopen()が成功するのは確認しているけど、
それだと直さなきゃいけないソースコードが多すぎて、やりたくない。

アプリケーションがカレントパスを認識できれば動くと思うんだけど。。。
ビルドと実行だと正常に動くのに納得いかないなぁ。
9 Name: 名称未設定 [sage] Date: 04/08/12 23:24 ID: DOX6Vp6n Be:
>7
よく探すとCocoa対応のがあるよ。ベータだけど。

>8
fopenを使わないか、fopen_wrapperとか作って一括置換すりゃいいじゃん。
10 Name: 名称未設定 [sage] Date: 04/08/13 02:43 ID: v9ctjMSr Be:
>>9
( ・∀・)つ〃∩ ヘェー
そうなのか。ちょいとよく探してみるべかな
Cocioa呼び出しするフレームワークが他にもいろいろ出てくると面白いね。
11 Name: 名称未設定 [sage] Date: 04/08/16 20:20 ID: zgJ00YEw Be:
Cocoaからラベルを参照する事はできないんでしょうか。
マカエレのログをラベルで管理するツールを作りたいんです。
12 Name: 名称未設定 [] Date: 04/08/23 06:42 ID: AFylXCQz Be:
沈み過ぎ
13 Name: ◆Z0vd5w812U [] Date: 04/08/24 11:25 ID: d8Aur08l Be:
お尋ねします。これからCocoaに手を出そうとしています。
非矩形ウィンドウの生成は可能でしょうか?
Windowsでは「非矩形」や「リージョン」で検索すればサンプルが
多数出るのですが、Cocoaでの検索キーワードすら分からない状態です。
14 Name: 名称未設定 [sage] Date: 04/08/24 11:40 ID: iO9BUeXU Be:
こんなんですか?
ttp://homepage.mac.com/mkino2/cocoaProg/AppKit/NSWindow/NSWindow.html
15 Name: 名称未設定 [sage] Date: 04/08/24 11:45 ID: w9Hr4pA0 Be:
>>13
http://www.miyakun.com/cocoa/
あたりが参考になるかな
16 Name: ◆Z0vd5w812U [] Date: 04/08/24 17:08 ID: d8Aur08l Be:
>>14>>15
おおお、ありがとうございます。ずばり、それです。
なるほど、Cocoaの場合はウィンドウそのものの透過をOpaqueで、
ウィンドウに描画した画像はAlphaで指定するのですね。
「頻繁にflushするとパフォーマンスに影響が、、」という表記が
ちょっと気になりますが、試してみます。
17 Name: 名称未設定 [sage] Date: 04/08/31 16:11 ID: 2IIiI3dk Be:
http://mugiwara.jp/Software/AppInfoX.html#WPhtml
こちらのWPhtmlをRSSを出力するように改造しようとビルドしてみたんですが
エラーが出てしまいます。古いProject Builderも試してみたんですが同様です。
どこを修正すればいいんでしょうか?
18 Name: 名称未設定 [sage] Date: 04/08/31 17:00 ID: BtUL8mxp Be:
Targets > WPhtml > Settings > Simple View > Search Paths > Librariesの
/usr/lib/gcc/darwin/3.1を3.3にしたら通った。
19 Name: 名称未設定 [sage] Date: 04/08/31 17:07 ID: 2IIiI3dk Be:
>>18
ありがとうございます兄貴。
20 Name: 名称未設定 [sage] Date: 04/08/31 17:39 ID: 2IIiI3dk Be:
デキタ━━━━━━(゚∀゚)━━━━━━!!!
RSSで書き出してSafariStandのStand Bar RSSから
Open Multiple Bookmarksで更新サイトの一括アクセスが超便利
長い間これがやりたかった

改めて感謝致します >>18
21 Name: 名称未設定 [sage] Date: 04/09/01 19:54 ID: 3IMyHQ+Y Be:
NsMovieViewをcontorl+クリックしたときの
メニューを非表示にする事はできるんでしょうか?

mouseDownをオーバーロードしても、
controlを押しているときだけは処理が入ってきません。

ユーザーがムービーを制御できないようにしたいので、
再生・停止が出来るメニューが出てくると困るんですが。。。
22 Name: 名称未設定 [sage] Date: 04/09/01 20:11 ID: X5yAk+nc Be:
NSViewの
- (NSMenu *)menuForEvent:(NSEvent *)theEvent
をオーバーライドすれば良いんじゃない?
23 Name: 名称未設定 [sage] Date: 04/09/01 20:25 ID: 3IMyHQ+Y Be:
お、きた。
>22 ありがとうございます。
24 Name: 名称未設定 [sage] Date: 04/09/01 22:14 ID: 0/BZadaA Be:
質問です。NSTableViewの中でテキストセルを編集してリターンやタブを押すと
次の行や列に自動で編集が切り替わりますが、あれは具体的にはどこでやっている処理なんでしょうか?
NSTableViewにはテキストの編集に関するメソッドがいくつか用意されていますが
一通り調べてみてもどこで何が呼ばれているのかわかりませんでした...
25 Name: 名称未設定 [sage] Date: 04/09/01 22:31 ID: ljzvK/Bx Be:
「どこでやっている処理」という表現が良く分からんのだが。
- (BOOL)textShouldEndEditing:(NSText *)textObject;
- (void)textDidEndEditing:(NSNotification *)notification;
あたりで編集が終わ(る|った)ことを知ることができないか?
26 Name: 名称未設定 [sage] Date: 04/09/01 22:52 ID: 0/BZadaA Be:
いや、そうではなくて、セルの編集中にタブやリターンを押すと次のセルに編集が移るわけですが、
その命令が(おそらくテーブルの)どのメソッドの中で出されているのかがわからないんです。
27 Name: 名称未設定 [sage] Date: 04/09/01 23:00 ID: 0/BZadaA Be:
あ、すいません。解決しました。
テーブルの editColumn:row:withEvent:select: で捕まえられるんですね。
28 Name: 名称未設定 [sage] Date: 04/09/01 23:02 ID: 0BtJa80i Be:
自分の質問をもう一度読み返してみる事をおすすめします。
セル移動はトレースしてみるとすぐわかりますが途中フックはできませんよ。
29 Name: 名称未設定 [sage] Date: 04/09/01 23:29 ID: 0/BZadaA Be:
>>28
単純にあのセル移動を禁止することはできるんでしょうか?
ほとんどのソフトはああいう挙動はしませんよね。
30 Name: 名称未設定 [sage] Date: 04/09/02 00:31 ID: Lld4DGUv Be:
NSCell か NSControl の
- (int)sendActionOn:(int)mask;
でセル移動を禁止できないだろうか。
いや、勘だが。
31 Name: 名称未設定 [sage] Date: 04/09/03 15:27 ID: +ZA3Lm3T Be:
NSComboBoxのリストを表示する命令はないのかな?
safariのURLバーのように、文字列が入力されたときに自動でリストを出したいんだけど。
32 Name: 名称未設定 [sage] Date: 04/09/03 16:18 ID: QrV74Dn0 Be:
ほんと、GUIを制御するメソッドは秘密になってるのが多くて困るんだよねえ
33 Name: 名称未設定 [sage] Date: 04/09/09 18:59 ID: 6oHHNVBW Be:
キーイベントを強制的に発生させる関数って公開されてる?
ComboBoxの編集中に下矢印が押されたという命令を
強制的に発生させれば、リスト表示できるかなーとか考えたんだが。
34 Name: 名称未設定 [sage] Date: 04/09/09 21:24 ID: btnpZUJh Be:
>>33
↓キーを押したNSEvent作ってcomboboxのcurrentEditorに keyDown: で送ればどうか
35 Name: 名称未設定 [sage] Date: 04/09/09 22:30 ID: /qK9zvH8 Be:
>>33
[[comboBox cell]popUp:comboBox];
36 Name: 35 [sage] Date: 04/09/09 22:34 ID: /qK9zvH8 Be:
あ、33じゃなくて31にレスにした方がよかったな
けどまあヘッダに公開されてるメソッドじゃないけれど
37 Name: 31=33 [sage] Date: 04/09/10 09:49 ID: dpUHjlPE Be:
>35
期待通りの動きができました、ありがとうございます。
(キーを押した瞬間にリストを表示したかった)
で、非公開のメソッドってどうやって見つけてるかな?
ヘッダに載ってないメソッドを調べる方法があるなら教えて欲しいんだけど。
38 Name: 名称未設定 [sage] Date: 04/09/10 14:43:10 ID: TavsLYTP Be:
>>37
ttp://www.codethecode.com/Projects/class-dump/

class-dump -H /System/Library/Frameworks/AppKit.framework/AppKit
とするとクラスごとに分かれたヘッダファイルをカレントディレクトリに作る
まとめて1ファイルに書き出したいなら
class-dump /System/Library/Frameworks/AppKit.framework/AppKit > appkit.h
などとする
書き出されたヘッダファイルには隠しメソッドも載っている
39 Name: 名称未設定 [sage] Date: 04/09/11 10:54:16 ID: zktSdYGO Be:
>38
「command not found」って返ってきちゃう…。
なにか間違ってるのかな…?
40 Name: 名称未設定 [sage] Date: 04/09/11 11:14:27 ID: ueWVtJfw Be:
>39
ちゃんとclass-dumpをパスの通ったとこに置いてる?
which class-dumpってしてみそ。
41 Name: 39 [sage] Date: 04/09/11 13:12:51 ID: fd/QIepv Be:
>40
サンキュ! パスが通ってなかっただけだった(恥
42 Name: 名称未設定 [sage] Date: 04/09/16 16:50:01 ID: bV4AGSbo Be:
NSSplitViewでスプリットバーの位置をプログラムからコントロールする
方法ってないですか? いろいろ調べてはみたけどわからない。
43 Name: 名称未設定 [sage] Date: 04/09/16 17:22:08 ID: glnzHTt3 Be:
>>42
subviewのframeを直接変更するしかない
その後で[NSSplitView adjustSubviews]
44 Name: 名称未設定 [sage] Date: 04/09/16 18:57:25 ID: bV4AGSbo Be:
>>43
ありがとう。やってみる。
45 Name: 42 [sage] Date: 04/09/16 19:19:00 ID: bV4AGSbo Be:
残念ながらうまくいきませんでした。subViewが小さくなるだけで
スプリットバーの位置はそのまま。逆に反対側のsubViewも大きく
してみても同じでした。

Xcodeではプロジェクトを閉じる時にスプリットバーの位置を記憶
しているみたいなので出来るはずなんだけど、やり方がわからない。
46 Name: 名称未設定 [sage] Date: 04/09/16 19:51:16 ID: oFS8A0dj Be:
>>45
ほい
http://blog.kung-foo.tv/archives/000311.php
47 Name: 42 [sage] Date: 04/09/16 20:38:49 ID: bV4AGSbo Be:
>>46
おおっ。やろうとしていることがズバリ出ているっ!!
ありがとう。
48 Name: 名称未設定 [] Date: 04/09/20 16:01:48 ID: RxqSJ3wF Be:
画像を綺麗に縮小して表示したいんですが、
[[NSGraphicsContext currentContext] setImageInterpolation:NSImageInterpolationHigh];
を使っても変化がないようなんです。
NSImageViewへのsetImage: の直前、ImageViewのサブクラスを作りdrawRect: 中で試してみたんですが効果がありません...
描画後に currentContext に imageInterpolation をしてみるとNSImageInterpolationHighが帰ってくるので
interpolation自体は変更されてるようです。どこか勘違いしてますでしょうか?
49 Name: 名称未設定 [sage] Date: 04/09/20 16:12:06 ID: RxqSJ3wF Be:
すいません。自己解決しました('A`)
扱っていた画像の形式に問題があったようです。
50 Name: 名称未設定 [sage] Date: 04/09/21 20:00:37 ID: gBbQKlQW Be:
IBに定義せずにボタンなどを生成して利用できますか?
cocoa開発のメリットがないやり方だと思いますが。。。

ある関数に問い合わせを行うと、適当な数値が返ってきて、
その数に応じてボタンを配置したいのです。
51 Name: 名称未設定 [sage] Date: 04/09/21 20:08:22 ID: aqnBnSOM Be:
手間かかるけど、できる。
しかし、わざわざ生成するんじゃなくて、
予め IB でボタンを生成・配置・透明化しておいて、
必要な時だけ透明化を解除する方が賢いな。
もし、そういう方法が許されるんであれば。
52 Name: 名称未設定 [sage] Date: 04/09/21 22:09:38 ID: K/f42Xxk Be:
便乗質問しとこっと。
例えば、NSButtonをコードで配置する場合、NSButtonを表示する前にNSButtonCellをつくって
やらないといけなかったと思うけど、こういう依存関係(?)って何を見れば明らかになりますか?
53 Name: 名称未設定 [sage] Date: 04/09/21 23:56:31 ID: Z4ODfE1N Be:
エクスポゼ中かどうかアプリから調べる方法ありませんか?
ポゼ中にウインドウのlevelを変えるとポゼが解除されてしまうので
ポセ中だとlevelを変えるのを一時的に遅らせたいのです。
54 Name: 名称未設定 [sage] Date: 04/09/25 00:57:55 ID: 04MYKyr3 Be:
テーブルビューの項目を右クリックで選択できるようにするには、
どうすればよろしいか?
右クリックで選択と同時に、コンテクストメニューも表示させたいんです。
55 Name: 名称未設定 [sage] Date: 04/09/25 12:07:20 ID: 7do9o7o9 Be:
>>54
NSTableViewのサブクラスを作り、
- (NSMenu *)menuForEvent:(NSEvent *)theEvent
{
int row=[self rowAtPoint:[self convertPoint:[theEvent locationInWindow] fromView:nil]];
if(![self isRowSelected:row])[self selectRow:row byExtendingSelection:NO];
if(row>=0){
//独自のメニューを出したいならここで処理
return [self menu];
}else{
return nil;
}
}
てな感じで
56 Name: 54 [sage] Date: 04/09/25 21:35:20 ID: 04MYKyr3 Be:
>>55さん。
問題解決しました。ありがとうございました。
57 Name: 名称未設定 [sage] Date: 04/09/29 17:25:50 ID: Tiw0H2aS Be:
NSQuickDrawViewのサブクラスを作って、そこでPictureを描画することも
Picutureをファイルに保存することも出来るのですが、なぜか印刷すると
白紙のままです。Previewで確認しても何も表示されません。どうして???
58 Name: 名称未設定 [sage] Date: 04/10/04 20:54:42 ID: lOfTUdmU Be:
>>57
QuickDrawがPDFサポートしてないからと違う?
59 Name: 名称未設定 [sage] Date: 04/10/05 11:52:58 ID: JJ54eH/Z Be:
>>58
NSImagePICTRepでPICTファイルを読み込ませたものは印刷できるんだけど。
こっちはPictureのOpCodeとOperandをQuartzでエミュレートしてるのかな?

いろいろやってみたけど、どうにもならないので、Cocoaで書き直すことに
します。どうせ円と直線と文字列くらいしか使ってないんで。
60 Name: 名称未設定 [sage] Date: 04/10/05 13:48:45 ID: LklwItxB Be:
REALbasicから別の言語に移行しようかと考えています。
次に学ぶ言語として適切なのはどれだと思われますか。
REALbasicよりも高速にコードが実行できて、難しすぎないのが希望です。

PyObjective-C
Cocoa-Java
FutureBASIC
...etc.
61 Name: 名称未設定 [sage] Date: 04/10/05 13:53:57 ID: ixq7d1AL Be:
Javaは?
62 Name: 名称未設定 [sage] Date: 04/10/06 10:14:46 ID: SRhdwFwi Be:
NSPopUpButton のメニューアイテムの選択可/不可の切り替えが上手くいかない。
[ [ self itemAtIndex : 0 ] setEnabled : NO ];
とやっても、選択不可にならないのだが、上手いやり方ないかな?
63 Name: 名称未設定 [sage] Date: 04/10/06 19:37:59 ID: gOoH1Me1 Be:
>>62
NSMenuのupdate呼ばないといけないかも知れない
64 Name: 62 [sage] Date: 04/10/07 00:09:53 ID: XntnNaYz Be:
>63
反応しないです。
ターゲットの指定が抜けてたときにグレー表示になっていたので、
ポップアップの項目を選択不可にするのは可能なはずだが。。。
65 Name: 名称未設定 [sage] Date: 04/10/07 00:12:35 ID: b0V5qGkA Be:
-(BOOL)validateMenuItem:(id <NSMenuItem>)menuItem;
を実装したらどうか。
66 Name: 62 [sage] Date: 04/10/07 02:00:25 ID: XntnNaYz Be:
>65
ありがとうございます。 >63(と、あといくつかのメソッド)と
組み合わせて、期待した実装が出来そうです。
67 Name: 名称未設定 [] Date: 04/10/09 03:46:02 ID: 8fwief9e Be:
http://www.sticksoftware.com/software/CircularSlider.html
Circular Slider

おもしろそうなんで貼っとく。
こういうの作る人どのくらいいるんだろ。
68 Name: 名称未設定 [] Date: 04/10/09 11:23:57 ID: D312AAgm Be:
>60さん

REALbasicから乗り換えるならどれでも大して変わらないし(難易度に関しては)、素直にCocoa-Objective-Cで良いのではと思います。
FutureBASICはあっさり除外するとして、Cocoa-Javaでも良いと思うけど初心者は逆に混乱する恐れあり(>_<)
Carbonは面倒すぎるのでやめといた方が無難っぽい。

参考書としてはヒレガス本が良いのではと思います、Cocoaの何たるかをちゃんと説明してくれているので非常に良いです。
買った本人が言うのだから間違いなし。

>REALbasic

3.5まで使ってたけど、D&D中に何にも処理が出来ないのが嫌すぎなのでCocoa-javaに乗り換えました、v2ぐらいまでがよかったかにゃ。
69 Name: 68 [sage] Date: 04/10/09 11:27:08 ID: D312AAgm Be:
下げ忘れ(>_<)
70 Name: 名称未設定 [sage] Date: 04/10/09 15:20:23 ID: OlGs8dbr Be:
>>68
レスどうもありがとうございます
Objective-C か Cocoa-Java を検討してみる事にしました。
71 Name: 名称未設定 [sage] Date: 04/10/10 00:42:01 ID: +jzsVI1e Be:
>>67
がんばれば作れるかも、、、
ちっちゃいViewの中心に対してマウスのドラッグされた角度を計算して、、って感じかなあ
72 Name: 名称未設定 [sage] Date: 04/10/11 13:12:10 ID: IAYj86Ya Be:
NSViewのカスタムサブクラスでBindingを使おうと思って、KVCに準拠しexposeBindingも呼んでみましたが、
モデルの方からは変更が反映されるものの、
View中で自身のset○○を呼んでもコントローラーもモデルも無反応の模様。
これだけでは駄目なのかと色々ググって、ようやく見つけたページ。
ttp://homepage.mac.com/mmalc/CocoaExamples/controllers.html

ここの「Graphics Bindings」サンプルを覗いてくじけました。
こんなにコード書かなならんのか…?

  <⌒/ヽ-、___
/<_/____/
73 Name: 名称未設定 [sage] Date: 04/10/11 14:23:34 ID: 5asQve9S Be:
NSButton ( アクアフェイスなボタン)のビットマップイメージを取り出そうしていますが、
うまくいきません。コメントいただけると幸いです。

NSImage*imgtmp;
NSBitmapImageRep *reptmp;

NSSize size = [[Button image] size];
imgtmp = [[NSImage alloc] initWithSize:size];
[imgtmp lockFocus];
[[Button image] drawInRect: NSMakeRect(0,0,size.width,size.height)
fromRect:NSMakeRect(0,0,size.width,size.height) operation:1 fraction:1.0];
[imgtmp unlockFocus];
reptmp = [NSBitmapImageRep imageRepWithData:[imgtmp TIFFRepresentation]];
74 Name: 名称未設定 [sage] Date: 04/10/11 14:40:33 ID: mKWZwBrY Be:
NSButton の -(NSImage *)image; が返す内容を勘違いしているのが原因では?

NSImage *image=[[[NSImage alloc] initWithData:[Button dataWithPDFInsideRect:[Button bounds]]] autorelease];
てな感じでどうだろう?
75 Name: 名称未設定 [sage] Date: 04/10/11 15:20:04 ID: 5asQve9S Be:
>>74
できました。
PDFに一旦落とすという発想は私の思いつく域を遥かに超えていました。汗
非常にエレガントでうっとりするコードをありがとう。


76 Name: 名称未設定 [sage] Date: 04/10/11 15:20:24 ID: gpt6ndXr Be:
NSCalendarDateって、
指定した年月が何日あるのかは教えてくれないのか
77 Name: 名称未設定 [sage] Date: 04/10/11 17:42:13 ID: osEE5tfo Be:
>>76
教えてくれますよ。 int で。
78 Name: 76 [sage] Date: 04/10/11 18:20:43 ID: p1xQHiR+ Be:
ID変わってるけど。
>76 あるのか。関数が見つからなくて、今は来月1日の一日前という取り方してるよ。
79 Name: 名称未設定 [sage] Date: 04/10/12 16:30:30 ID: 3JlU0Yq9 Be:
スクロールビュー内にある、サイズが変わる予定の自作Viewのスクロールの起点を常に一番上にしておきたいんですが
そのスクロールの起点を動的に設定する方法がよくわかりません
スクロールビューのClipViewに - (void)scrollToPoint:(NSPoint *)point を使えばいいんでしょうか?
(0, NSMaxY([view bounds])) を引数にしてみてもどうもうまくいかないのですが
80 Name: 名称未設定 [sage] Date: 04/10/12 18:37:00 ID: 9WZNH4F8 Be:
>79
Macでプログラミング{4}
http://pc5.2ch.net/test/read.cgi/mac/1080051583/487-
にそんな話題が出てる。ご参考まで。
81 Name: 名称未設定 [sage] Date: 04/10/12 18:50:19 ID: 3JlU0Yq9 Be:
>>80
サンクス。でも -scrollPoint: は単にスクロールさせるだけのメソッドなので。
スクロールの起点が一番上に設定されていると、スクロールビューがリサイズされた時にも
中のviewの表示領域が上端を基準に拡大縮小するはずなんです。
デフォルトのviewだと何故か下端を基準にしてしまうんですよね。
82 Name: 名称未設定 [sage] Date: 04/10/12 19:01:27 ID: 3JlU0Yq9 Be:
nsscrollview でググルと結構有名な問題のようですね。
isFlipped が鍵なのかな?

この記事がアップされてくれれば... orz
第38回 (MOSADen第100号 2004年2月10日)
座標の原点を左上にしよう
ttp://www.remus.dti.ne.jp/~yoshiki/cocoa/ed1/index.html
83 Name: 名称未設定 [sage] Date: 04/10/14 19:03:14 ID: ZHsqwcvD Be:
>>82
実装ファイルで
- (BOOL)isFlipped { return YES; }

を実装すると、座標系が左上起点になりますよん。
84 Name: 名称未設定 [sage] Date: 04/10/17 14:08:14 ID: AXFI2lOD Be:
NSImageViewの背面にあるカスタムビューに対して
別スレッドからsetNeedsDisplayを呼ぶと画面がチラチラするんですが
これはどうにもならないんでしょうか?
多分メインループのスレッドがNSImageViewに対してsetNeedsDisplayを呼ぶまでの
タイムラグが原因だと思うんですが。
85 Name: 名称未設定 [] Date: 04/10/17 18:51:41 ID: VbE+cDok Be:
NSTextView に表示される文字列を全消去する方法を教えてください。
すとれーじがどうとか、あとりびゅーてどすとりんぐがどうとか、わけわかりません。
86 Name: 名称未設定 [sage] Date: 04/10/17 19:13:02 ID: bWVtJDk6 Be:
>>85
たぶん [aTextView setString:nil];
87 Name: 名称未設定 [] Date: 04/10/17 19:32:03 ID: VbE+cDok Be:
>>86
[aTextView setString:@""];
でできました。トンクス
ていうかsetString:なんてあったんですね・・・惑わされてしまった。
88 Name: 名称未設定 [sage] Date: 04/10/17 19:32:21 ID: jmisajyF Be:
>>86
それたぶん落ちる。
[aTextView setString:@""];
だな
89 Name: 名称未設定 [] Date: 04/10/18 22:16:58 ID: YdalqTKH Be:
NSAffineTransform で回転をさせたビューの描画を元に戻したいんですが
どうすれば良いんでしょう?
90 Name: 名称未設定 [sage] Date: 04/10/18 22:24:54 ID: rDA+NApD Be:
>>89

目測だが、invert で逆マトリクス作ればいいのでは?
91 Name: 89 [sage] Date: 04/10/18 23:41:32 ID: cfn68ZuV Be:
>>90
ありがとう。試してみます。
92 Name: 名称未設定 [] Date: 04/10/19 00:43:44 ID: eHoAdsqR Be:
>>89
あなたはおれですか?
質問書き込もうと思ってリロードしたら、聞きたい質問そのものが新着してた。
一瞬なにか超自然的な作用かと思って目の前が真っ白になったよ。結婚しよう。

>>90
そう思って試してみたんですがなぜかクラッシュします・・・。
デバッガによると [[affine invert] concat]; のところで
Program received signal: "EXC_BAD_ACCESS".
だそうです。
93 Name: 89 [sage] Date: 04/10/19 07:27:41 ID: 1qZyz/dZ Be:
>>92
もう一人の俺こんにちは。
色々試してみたら [NSGraphicsContext restoreGraphicsState]; でリセットできるっぽい。
ただ、これが何をやってるのか良く分かってないですが。w
94 Name: 名称未設定 [sage] Date: 04/10/19 10:58:17 ID: pIwOM2Pe Be:
いま出てる本で1番初心者にお奨めなのはどれですか?
95 Name: 名称未設定 [] Date: 04/10/19 11:25:10 ID: PPNsUwGQ Be:
毎日コミュニケーションズの「Xcode入門」以外なら、なんでもおすすめ。
96 Name: 名称未設定 [sage] Date: 04/10/19 11:51:29 ID: sbjhSHBI Be:
>>89
[[NSAffineTransform transform] set];
でいけるかも。何もしてないNSAffineTransformをセットしてる。
うちではこうしてるけど、正しい方法かどうかは分からないね。
97 Name: 名称未設定 [sage] Date: 04/10/19 12:06:25 ID: pIwOM2Pe Be:
>>95ありがとう。
98 Name: 名称未設定 [sage] Date: 04/10/19 12:31:49 ID: 1pmS2xsp Be:
あらゆる戦争行為を否定する人が
ビートル乗ってるって変じゃない?
ナチスとの関係を知らないんでしょうかね。
99 Name: 名称未設定 [sage] Date: 04/10/19 13:18:11 ID: 6H5hxS7X Be:
>>94
とりあえず
ttp://homepage.mac.com/mkino2/books/index.html
あたりを参考に。初心者といっても、いろんなレベルがあるから曖昧なんだが
オレ的にはアーロン・ヒレガスの本がお勧めかな。
Appleの「入門Cocoa」はちょっとお勧めできないな。

毎日コミュの「Xcodeプログラミング入門」は評論するにも値しないクソ本で
Xcodeのヘルプメニューに書いている内容をうすーく引き延ばしただけだよ。
100 Name: 名称未設定 [sage] Date: 04/10/19 13:44:42 ID: eHoAdsqR Be:
NSResponder の - (void) keyDown:(NSEvent*)event で
複数キーの同時押しを受け付ける方法はないんでしょうか。
ウェブあさったところ Carbon を使うとできるみたいですが、ちょっと・・・。
101 Name: 名称未設定 [sage] Date: 04/10/19 14:21:16 ID: pIwOM2Pe Be:
>>99
ありがとうございます。
参考にします。
102 Name: 名称未設定 [sage] Date: 04/10/19 14:22:17 ID: ymkIT/J1 Be:
>>99
>Xcodeのヘルプメニューに書いている内容をうすーく引き延ばしただけだよ。

一言で言えば「手抜き」。サンプルもDeveloperToolsのExampleを
お触り程度に解説しただけの(解説とも言い難い)クソ本。手抜き本。

やはりお薦めはヒレガス本だな。Cocoaのプログラミングマナーというか
スタイルについても書いてある必読本だ。入門はこれ一冊で十分。
あとは英語だがCocoaのReferenceを読みながらプログラムは書ける。
103 Name: 名称未設定 [sage] Date: 04/10/19 17:06:22 ID: pIwOM2Pe Be:
ヒレガスのをesBooksでぽちっとしときました。レスありがとうございました。
がんがれ>俺
104 Name: 名称未設定 [sage] Date: 04/10/19 18:28:17 ID: kr9B4QT5 Be:
>>103
余裕があれば荻原本(Objective-C入門だっけ?)も買っておくと吉
はじめは読んでも分からんと思うけど後で必ず役に立つ
105 Name: 名称未設定 [sage] Date: 04/10/19 19:48:04 ID: pIwOM2Pe Be:
>>104
ありがとうございます。
余裕見つけてみます。
106 Name: 名称未設定 [sage] Date: 04/10/19 22:09:07 ID: HABUu128 Be:
NSLogって最終ビルドの時に削除した方が良いの?
簡易デバッグ用にあちこちに置いてあるんだけど
速度低下の原因とかになるのかな?
107 Name: 名称未設定 [sage] Date: 04/10/20 00:13:17 ID: aM0HsfK2 Be:
いままでメモリ管理がよくわからず、うろおぼえで

[[[MyObject alloc] init] retain];

↑こんなことをやっていた私を罵ってください。
108 Name: 名称未設定 [sage] Date: 04/10/20 00:24:22 ID: GTTuT80H Be:
[[[[[MyObject alloc] init] retain] release] autorelease];
109 Name: 名称未設定 [sage] Date: 04/10/20 00:25:40 ID: GTTuT80H Be:
↑これじゃ動かないか w
110 Name: 名称未設定 [sage] Date: 04/10/20 03:16:18 ID: jKUCgHXA Be:
>>106
コンソールを見たらログにゴミが溜まっていくのを発見できるかもしれない。

>>109
試してないけど動くんじゃないか?
111 Name: 名称未設定 [sage] Date: 04/10/20 15:23:31 ID: aM0HsfK2 Be:
Javaでいうところの「定数」をObjective-Cで実現する方法を教えてくれませんか。

たとえばJavaでは、Hoge というクラスで
  public static final int STATE_FOO = 0;
を定義すれば、よそのクラスから
  if (hoge.getState() == Hoge.STATE_FOO) ...
とできますよね。これと同じこと(定数に名前をつける)をObjective-Cでやりたいのです。

NSForegroundColorAttributedNameとかのソース見ればわかるかと思いましたが
APPKIT_EXTERN とかいうキーワードみたいなの使っててワケワカメでした。
112 Name: 名称未設定 [sage] Date: 04/10/20 16:05:08 ID: XGwAysyg Be:
enumとか
113 Name: 名称未設定 [sage] Date: 04/10/20 16:57:41 ID: aM0HsfK2 Be:
もしかして、ただ@interfaceの外にenumを書けば
そのファイルを#importしたファイルの中でなら自由に定数として使えるんですか。
ていうか試したら自由に使えました。どうもありがとう。
114 Name: 名称未設定 [sage] Date: 04/10/20 19:25:26 ID: Gav70rhD Be:
Objective-C以前にC言語の勉強をしたほうがいいよ。
115 Name: 名称未設定 [sage] Date: 04/10/20 23:02:21 ID: N2YYh2lj Be:
>>114
俺も同じ事書こうと思った
116 Name: 名称未設定 [sage] Date: 04/10/20 23:55:06 ID: 4+cQi2XZ Be:
#defineだろ!
117 Name: 名称未設定 [sage] Date: 04/10/21 00:45:01 ID: oDY7li4u Be:
循環的に依存しあってるクラスをコンパイルする方法はありませんか?
クラスの設計を考え直すしかないのでしょうか・・・。
118 Name: 名称未設定 [sage] Date: 04/10/21 02:32:01 ID: oDY7li4u Be:
@class でできました。
119 Name: 名称未設定 [] Date: 04/10/21 14:21:36 ID: 4fPBlGIf Be:
>>106
どうしても気になるならassertマクロみたいにマクロを使って
本番時にNSLogがすべて無効化するような工夫をすれば。
まさか本番時にNSLogをエディタでせっせと削除するとかは考えてないよね?
120 Name: 名称未設定 [] Date: 04/10/21 15:24:58 ID: wjbq4uWj Be:
K&R(html)
http://freebooks.by.ru/view/CProgrammingLanguage/kandr.html
pdf版ご存じの方教えて下さい
121 Name: 名称未設定 [] Date: 04/10/21 17:54:37 ID: 1T18Dl8L Be:
>>119
__inline__ void Nop_(NSString *iMsg,...){ }
#define NSLog 1 ? (void*)0 : Nop_
この2行を含めるようにする手法のことだね。今は亡きK氏が紹介していた手法だな。
122 Name: 名称未設定 [sage] Date: 04/10/21 23:03:20 ID: DIVocMTu Be:
むしろユーザーがバグを見つけたときに
ログを送信できるように前向きに考えるのもありかと思うが。
手法はmkino氏が前に紹介してたな。
123 Name: 名称未設定 [] Date: 04/10/22 21:43:02 ID: uVBYu65I Be:
Cocoaプログラマって人口どの栗?
124 Name: 名称未設定 [sage] Date: 04/10/22 22:24:10 ID: KF+1TbUl Be:
とりあえず有名どこのサイト主の皆さんと……
あとこのスレで点呼取ってみる?
まずはド初級者の漏れがノシ
125 Name: 名称未設定 [sage] Date: 04/10/22 22:40:47 ID: 8DsG5BJ7 Be:
ノシ
情報だけ追ってここ最近やってないが。
使わなきゃいけないC++かJavaばっかり触ってる。
126 Name: 名称未設定 [sage] Date: 04/10/22 22:47:13 ID: cBsVmzoz Be:
ノシ
127 Name: 名称未設定 [sage] Date: 04/10/23 00:28:01 ID: UBdbDvKI Be:
荒んでるけど人口の多いmacでプログラムスレの方が人が多そうだ…
ノシ
128 Name: 名称未設定 [sage] Date: 04/10/23 08:14:14 ID: lq2+elYU Be:
ノシ
129 Name: 名称未設定 [sage] Date: 04/10/23 10:18:08 ID: hEsE8c4L Be:
ノシ
というか今セブンイレブンにヒレガス本を取りに行ってきたばかりで、何一つ始めてませんが(´∀`;)
130 Name: 名称未設定 [sage] Date: 04/10/23 14:28:44 ID: wfTGBWm6 Be:
ノシ
131 Name: 名称未設定 [sage] Date: 04/10/23 14:59:11 ID: iDWAJqSi Be:
ノシ

最近はGNUstepいぢりの方が頻度が高いのだが.
132 Name: 名称未設定 [] Date: 04/10/23 16:16:52 ID: MDa3d8z8 Be:
ノシ

「入門Cocoa」読んでるんだけど、この本最初の方は難しいことがたくさん書いてあるなぁ、ってのが今の感想だな。
プログラム自体は簡単だよ、確かに。でも普通の人は多分コーディングする前にプログラミングを
諦めちゃうんじゃないんだろうか?

Toolboxの頃と比べれば天国だけどさ・・・
133 Name: 名称未設定 [sage] Date: 04/10/23 17:24:16 ID: E9/a5DFx Be:
ノシ

 UNIX起源ツールのGUIすらマトモに出来たことがないよ。
なんか、日本語がうまく表示できな…
134 Name: 名称未設定 [sage] Date: 04/10/23 17:54:11 ID: SNKCNSZK Be:
unixコマンドラインというかshell scriptにGUIを被せたいんで相談にのってください。

ttp://developer.apple.com/samplecode/Moriarity/Moriarity.html
ttp://www.harmless.de/cocoa.html#shellwrapper
あたりで、先頭に #!/usr/bin/Python書いたスクリプトファイルを呼び出すまではできました。
でもスクリプト実行中ずっと虹色カーソルになってしまいます。

frameworkにもPythonがあると教えてもらったのですが
System/Library/framework/Python.frameworkのサンプルとか無いでしょうか?
Cocoa+Pythonはマイナーすぎですか?
135 Name: 名称未設定 [sage] Date: 04/10/23 18:06:13 ID: 5AQlkNPW Be:
http://www.big.or.jp/~crane/cocoa/9000_mdo/MDOnline_2002.01.pdf
136 Name: 名称未設定 [] Date: 04/10/23 22:24:16 ID: Ra2ynGf9 Be:
10人いれば隠れたところに100人はいるすね
137 Name: 名称未設定 [sage] Date: 04/10/23 23:43:21 ID: KQJ/yuoV Be:
ゴキブリかよΣ(´∀`)
138 Name: 名称未設定 [sage] Date: 04/10/24 00:16:45 ID: LmVGUhT9 Be:
>>134
つ PyObjC
ttp://pyobjc.sourceforge.net/
そういうことじゃないと思うが。

NSTaskを実行したあと、パイプ読むとこを別スレッドにすれば
虹色にならないんじゃないかと。
139 Name: 名称未設定 [sage] Date: 04/10/24 21:31:15 ID: f3B8zvQz Be:
Objective-C でアクションゲーム作ったら
実行中だんだん重くなっていくんだけど
これはメモリリークしてるってことですか?

あと NSMakePoint() のソース見たら単に NSPoint を作って返してるだけなんですが
これはメモリ解放しなくていいんですか?
140 Name: 名称未設定 [sage] Date: 04/10/24 23:34:04 ID: FqEJN8hk Be:
>>139
かもしれないし違うかもしれない。
とりあえずアクティビティモニタでメモリやタスクの状況をチェック。
NSPointはオブジェクトじゃないからリリースの必要は無し。intやfloatをリリースしないのと同じようなもの。
141 Name: 名称未設定 [sage] Date: 04/10/25 18:23:28 ID: 3zAahnzJ Be:
NULLかもしれないあるオブジェクトを一番効率的に確認する方法は何でしょうか?
if(!object), if(object == NULL) や if(object == [NSNull null]) では捉えられませんでした
142 Name: 名称未設定 [sage] Date: 04/10/25 19:04:51 ID: gGoMVJFx Be:
if (object == nil)
だね
143 Name: 名称未設定 [sage] Date: 04/10/25 19:57:16 ID: 0Uz186rX Be:
if(object)
でもよろしいかと
144 Name: 143 [sage] Date: 04/10/25 19:58:11 ID: 0Uz186rX Be:
あ、処理が反対になるけど
145 Name: 名称未設定 [sage] Date: 04/10/25 20:08:39 ID: ZiAdQR3t Be:
>>141
もしかして、retainCount == 0 のとき?
146 Name: 名称未設定 [sage] Date: 04/10/25 20:27:01 ID: 3zAahnzJ Be:
配列からひとつずつobjectを拾っていくんですが、中身がない場合もあって。

>>143
その判定は結局 if(!object) と同じでは?
147 Name: 143 [sage] Date: 04/10/25 20:48:44 ID: 0Uz186rX Be:
>>146
うん、書いてから俺もそう思った。

ていうかポインタとオブジェクトを混同してない?
if (object == nil)
ってのはポインタが存在するかどうかをチェックしているわけで、
参照先のオブジェクトが存在しているかどうかはそれでは分からないよ。
で、ポインタの参照先のオブジェクトが生きているかどうかの判定は、
無理ってような結論をどこかで読んだような・・・
詳しい人ヨロ。

それより素直にNSArray使えないの?
そうすりゃオブジェクトが解放されてたなんてことはないわけだが
148 Name: 名称未設定 [sage] Date: 04/10/25 20:48:48 ID: ZiAdQR3t Be:
>>146
それはマズイね。設計を見直した方がいい。

Cのポインターと同じようにfree(release)後は実態はないでしょ。
Objective-Cの参照カウンター(retain)はAutorelease用だけに使えるもの
と考えよう。

過去レスにオーナーシップなんたらのイイ説明があったから参考にしてね。
149 Name: 名称未設定 [sage] Date: 04/10/25 20:57:42 ID: 3zAahnzJ Be:
いや、実際にはリリースされてるわけじゃなくて、データベースから取り出した配列の中に
空の項目がある可能性がある、という話で。その項目の中身が実際に空である判定をしたいんですよ。
150 Name: 名称未設定 [sage] Date: 04/10/25 21:46:18 ID: Qvh9nVkO Be:
>>149
> データベースから取り出した配列の中に空の項目
それて多分NSNullで格納されてるかも。
NSArrayはオブジェクトのidに-retainメッセージを送ってオブジェクトを確保するので
nilだとメッセージ送ると落ちる気がする、、
151 Name: 名称未設定 [sage] Date: 04/10/26 08:07:40 ID: XO7mOPN1 Be:
>> 149

「項目の中身が……空である」の意味が分からん。「項目の中身」ってインスタンス変数のことかな?

それと、「配列」ってのがCの配列なのかNSArrayなのかはっきりせんから、各々のレスの内容が
混乱している気がする(俺はCの配列のことなのかと思っていたが、そうは思っていないでレスしている
人もいる)。

もう少し具体的な状況を説明せんと、このまま混乱しっぱなしだぞぃ。
152 Name: 名称未設定 [sage] Date: 04/10/27 15:04:26 ID: U3o7WDTo Be:
メニューアイテムのタイトルをプログラムから変更したいのですが、
いい方法はないですか? 変更したいアイテムが存在するメニューを
取り出す方法がわからんのです。

アウトレットを各アイテムに設定して処理する以外にないのだろうか?
153 Name: 名称未設定 [sage] Date: 04/10/27 15:44:01 ID: 4G5dM+yA Be:
アクションが設定されてるならそのターゲットの -validateMenuItem: でいじればいいと思う。
メニューアイテムにはtagか何かつけておけば。
154 Name: 152 [sage] Date: 04/10/27 16:04:21 ID: U3o7WDTo Be:
>>153
なるほど。試してみたらうまくいきました。ありがとう。
155 Name: 名称未設定 [sage] Date: 04/10/30 02:24:23 ID: tyK6ZJD1 Be:
Mac OS X Tiger、Mac史上最大のリリースに
中略「次期バージョンのMac OSは、デベロッパにとってMac史上最大のリリースになる。」と語っていると伝えています。
同氏は、次期Mac OS Xについて、「良いニュースは、どのリリースよりもはるかに多い機能を搭載していることで、
悪いニュースは、学ぶことが多くあるため、なれるまで多少時間がかかるということです。」と語っています。

面白そうだけど、10.4のみ対応のソフトがガンガン出て古いOSの人はうんざりするだろうなあ。
156 Name: 名称未設定 [sage] Date: 04/10/30 02:31:37 ID: EivnBCST Be:
ぺけこーど2がぱんたーでも使えるなら嬉しいんだが
157 Name: 名称未設定 [sage] Date: 04/10/30 11:27:19 ID: g6LcquNV Be:
>155

「Cocoa Framework 全廃」 とか言うんじゃないよね?

Appleのことだからやりかねんぞ。
「ラッパー作りましたので大丈夫です」とかいいつつ、細かい部分は泥臭い逃げ道しかないとか。
158 Name: 名称未設定 [sage] Date: 04/10/30 11:39:47 ID: tyK6ZJD1 Be:
今のところ発表されてる内容としては Core Image, Core Data, PDFKit, Sync Services,
Spotlight関連、Dashboard関連、Automata関連、64bit Development等。
159 Name: 名称未設定 [sage] Date: 04/10/30 15:18:56 ID: WjB9bqf2 Be:
>>157
それはありえないだろ。
何のためにCore Dataあるんだよ。
160 Name: 名称未設定 [sage] Date: 04/10/30 17:45:10 ID: 5zlPbjhR Be:
いずれClassic環境と共にCarbonが廃止される可能性はあるけどな。
Carbonは非公開のAPIとしてCocoaの下請けに格下げ。

・・・というのならあり得る。
161 Name: 名称未設定 [sage] Date: 04/10/31 10:09:31 ID: oS6oIHsV Be:
ToolbarItemをクリックした時にModifierキーが押されているかどうかを
検出したいのですが、Cocoaで可能ですか?

今はObjective-C++でCarbonのGetKeys()とキーコードを使っていますが、
Cocoaで可能であればCocoaで統一したいのですが。
162 Name: 名称未設定 [sage] Date: 04/10/31 13:30:46 ID: humJ/SrJ Be:
可能。
163 Name: 名称未設定 [sage] Date: 04/10/31 14:13:43 ID: HCc2xVUs Be:
http://homepage.mac.com/mkino2/cocoaProg/AppKit/NSEvent/NSEvent.html#keyEvent
164 Name: 161 [sage] Date: 04/10/31 14:51:21 ID: oS6oIHsV Be:
ありがとう。ToolbarItemはNSObjectのサブクラスだけど、targetとなるのは
NSResponerのサブクラスだからtargetの方で処理させます。
165 Name: 名称未設定 [sage] Date: 04/10/31 14:56:03 ID: xpNGdXyw Be:
163はわかってないっぽいな(w
166 Name: 名称未設定 [sage] Date: 04/10/31 17:13:22 ID: humJ/SrJ Be:
別に target が NSResponder のサブクラスでなくとも
modifier key が押されたかどうかの判定は可能なわけだが。
167 Name: 名称未設定 [] Date: 04/11/12 17:44:31 ID: WACvju7A Be:
Javaにおけるinstanceofのように、Objective-Cで
あるオブジェクトがどのクラスのインスタンスか判定する方法を教えてくださいませませ。
168 Name: 名称未設定 [sage] Date: 04/11/12 17:59:03 ID: za0cYkMm Be:
isKindOfClass:とかNSStringFromClass()とか
169 Name: 名称未設定 [] Date: 04/11/12 18:05:06 ID: WACvju7A Be:
>>168
うほっ、サンクスです!
170 Name: 名称未設定 [sage] Date: 04/11/12 18:23:42 ID: WYCgTEbQ Be:
誰か10.4試してる人いる?
171 Name: 名称未設定 [sage] Date: 04/11/13 23:59:27 ID: sJwtNAoL Be:
NDAがあるんだから誰も答えんよ。
172 Name: 名称未設定 [sage] Date: 04/11/17 16:11:12 ID: 11n3jmmH Be:
NSBezierPath#stroke とか使って Pure Cocoa な描画するより
OpenGL フレームワーク使った方が速いんですか?

自分で確かめずに人に聞いちゃうテスト
173 Name: 名称未設定 [sage] Date: 04/11/18 02:21:24 ID: y1qOqtgR Be:
Macアプリの開発したいなぁと思ってるんですが、
ObjectiveCでソースファイル数100くらいで、
支障なく開発できる環境って、どの程度のマシンを買えばいいですか?
Macは10年近くご無沙汰だったもので状況がよくわかりませぬ。
174 Name: 名称未設定 [sage] Date: 04/11/18 07:36:43 ID: 6/2hbYPp Be:
支障なく開発できるって意味がわからん。普通、エディタを使ってる時間が
一番長いだろうが。
175 Name: 173 [sage] Date: 04/11/18 08:59:00 ID: y1qOqtgR Be:
エディタはたぶん普通に打てるとして・・・
コンパイル+デバッガ起動までがストレスなければいいかな。
AthlonXP 2000、メモリ512MBでEclipse使ってJavaやってるけど、
これくらいのパフォーマンスなら満足。
176 Name: 名称未設定 [sage] Date: 04/11/18 10:45:22 ID: yjR4Dt/R Be:
>>173
予算しだいじゃない?
最近のMacは性能上がってるから...。
予算がありあまってるならPowerMac G5 2GHz Dual程度で。
20万とかで収めたいなら
省スペース重視ならPowerBook15inch以上、
デスクトップでもいいならiMac G5。

2.5GHz Dualは納期が遅いらしいんで止めた方がいい希ガス
177 Name: 名称未設定 [sage] Date: 04/11/18 11:08:37 ID: fF5MQSSs Be:
画面のでかい20inch iMacG5もいいよ。さすがにPowerMac G5に比べると
ややもたつくけど、開発作業なら楽にこなす。一番バランスがいいのは
PowerMac G5 2G Dualだろうな。マルチスレッド対応だからDual CPUで
コンパイルすれば速いよ。

2.5Gは家で使ってるけど、発熱が2Gに比べて15~20℃くらい上なので
負荷がかかるとすぐにファンがうなり出す。その点2Gは静かでいいよ。
178 Name: 名称未設定 [sage] Date: 04/11/18 14:02:23 ID: 0ZH2LIrm Be:
趣味だけど、15' PBG4 1.25Hzでやってる。
青空プログラミングとかやってみたり。

問題はマルチスレッドアプリのマルチプロセッサでの検証が出来ないことぐらいかな。
まあ趣味だから「マルチプロセッサマシンだと問題があるかもしれません。」で済ますけど。
179 Name: 173 [sage] Date: 04/11/19 10:29:43 ID: s9RuJW6x Be:
予算はあんまり・・・10万以下に抑えたいけど厳しいそう。
G4-1GHzくらいは、ないときついみたいですね。
デスクトップはデカいから置き場所なさそう。
キューブくらいの大きさがよいけど、それだと性能悪そうだし・・・
となるとノートが一番コストパフォーマンス的にも良さそうなんだけど。
外部モニター接続とか、キーボードがRealForce使えるかが心配。
180 Name: 名称未設定 [sage] Date: 04/11/19 22:51:53 ID: hX7op6lK Be:
iBookG4でちまちま楽しんでますが
それなりの規模のアプリを作るとなると厳しいんかなぁ。
181 Name: 名称未設定 [sage] Date: 04/11/20 00:16:20 ID: nwqkeU9k Be:
iBook G3 / 600 で開発してるぞ。
ユーザーの方が遥かにスペックの高い機種を使ってるのが鬱だ。
182 Name: 173 [sage] Date: 04/11/20 00:31:01 ID: OChSwmTT Be:
とりあえず、来週CherryOSが出るので、それを試してみます。
満足いくパフォーマンスが出たらそれで。
だめぽなら、iBookG4 12inch買います。ヤプオクなら10万以下で買えそうだし。
183 Name: 名称未設定 [sage] Date: 04/11/20 00:47:45 ID: PsAWvBxK Be:
>>182
CherryOSは明らかに怪しいと思うんだが…

なんかGCCのメーリングリスト見てたんだけど
ObjC++のことでもめとるね。
184 Name: 名称未設定 [sage] Date: 04/11/20 03:41:18 ID: KeHPZFyS Be:
NSDataの型になってる文字列のエンコーディング判別をうまいことやる方法はないですかね?
Appleは「initWithData:encoding:で試して返ってきたらそれが正解だぜ」とか言ってるんですが
ISO2022JP、EUCJP、ShiftJIS、Unicode8をそれぞれ試してみると、
複数返ってきてしまったり化けてたりでまともに判別できません。
185 Name: 名称未設定 [sage] Date: 04/11/20 07:50:09 ID: nwqkeU9k Be:
考えられる全てのエンコーディングの夫々に対して initWithData:encoding: で NSString を生成してみる
a 失敗なら不正解
b 成功なら他のエンコーディングで生成した NSString と length を比較してみる
 イ より長いなら不正解
 ロ より短いなら暫定正解
んで、一番最後まで残った暫定正解が正解

といった感じだっただろうか。以前どこかで見た方法だけど全然試してない。
186 Name: 名称未設定 [sage] Date: 04/11/20 09:16:05 ID: ly0nhkvK Be:
完璧な自動判別方法は無い。
なのでユーザに判別させる。
187 Name: 名称未設定 [sage] Date: 04/11/20 13:40:54 ID: y5tga5el Be:
nkf辺りの判定コード持ってくればどうだろう? と言ってみるテスト。
188 Name: 名称未設定 [sage] Date: 04/11/20 13:41:38 ID: y5tga5el Be:
あ、書いた後で気付いた
187の「コード」は文字コードじゃなく「ソースコード」の意味っす。あいまいでスマソ。
189 Name: 名称未設定 [sage] Date: 04/11/23 10:11:42 ID: b9qdL6YA Be:
>>184
まずUTF8で開いて、失敗したらText Encoding Converter を使うようにしてる。
190 Name: 名称未設定 [sage] Date: 04/11/24 19:02:03 ID: FxAO9nuN Be:
初心者故にどう質問してよいものかいまいち分からないですが質問します。

例えば、下のようなテキスト文字列で構成されたテキストデータがあったとします
1行目:本日の数値目標
2行目:
3行目:りんご 値1A 値2A 値3A
4行目:みかん 値1B 値2B 値3B
5行目:
6行目:みなさんよろしくおねがいします
このでーたから3~4行目の値を取りだし、それを指定されたテキストボックスに
表示させたい場合、どうすればいいんでしょうか?

使用する言語はObjective-Cとした場合で、ヒントをいただけるとありがたいです。
宜しくお願いします。
191 Name: 名称未設定 [sage] Date: 04/11/24 20:36:00 ID: lB3Ai9YB Be:
改行を区切りとして文字列を配列に変換して、
3つめと4つめの要素を取り出す。
NSString の componentsSeparatedByString: を使えばできるな。
192 Name: 名称未設定 [sage] Date: 04/11/24 22:13:38 ID: NP2CHypH Be:
>>190
3、4行目を文字列として取り出したいのなら>>191
それ以上のことをしたいのなら(各行の中身をパースして1Aを取り出したいとか)、
何をしたいのかもう少し詳しく書いてくれないと分からない
193 Name: 名称未設定 [sage] Date: 04/11/24 22:17:02 ID: OyPrypnR Be:
正規表現を勉強してOgreKitを使うと幸せになれるかも。
194 Name: 190 [sage] Date: 04/11/24 23:12:52 ID: FxAO9nuN Be:
>>191-193
ありがとうございます。ある測定プログラムをNSTaskでもって動かして、受け取った返り値を
処理してテキストフィールドに反映させる、それが成功すれば今度は値のみのログを取る、と
いった感じです。

今回の情報を基に早速勉強したいと思います、ありがとうございました。
195 Name: 名称未設定 [sage] Date: 04/11/25 16:51:59 ID: M4raaS8N Be:
「みなさんよろしくおねがいします」とか吐く測定プログラムってちょっとイヤかも。
196 Name: 名称未設定 [sage] Date: 04/11/25 22:59:47 ID: OslqsWF0 Be:
ここに実際にMACのプログラムを仕事としてやってる人います?
言語的にはやっぱObjectiveCが主流なんでしょうか。
Mac OS Runtime for Javaとかもあるし、
JAVAの仕事も増えてきてるんですかね?
197 Name: 名称未設定 [sage] Date: 04/11/25 23:12:37 ID: CAMAhAn+ Be:
「Macの」というからには普通Javaは使わないかと
198 Name: 196 [sage] Date: 04/11/25 23:31:01 ID: OslqsWF0 Be:
ちょっとネットや知人からMacプログラミングの話を聞いて興味を持ったんですが、
Sunの提供しているVMの上で動くJavaの話ではなく、
Javaの文法を使ってMacネイティブのアプリ開発が
できるわけじゃないんでしょうか?
199 Name: 名称未設定 [sage] Date: 04/11/25 23:42:22 ID: nhg7Ye+i Be:
>198
できますよ。
でもMacのアプリを作るのを仕事にするなら、Objective-Cでやるだろうね。
200 Name: 196 [sage] Date: 04/11/25 23:47:18 ID: OslqsWF0 Be:
>>199
それはなぜでしょう?
Objective-Cは、ちらっと本屋で立ち読みした程度なんですが、
相変わらずヘッダとソースを書かないといけないようですし、
言語としてはJavaのが洗練されていそうですが。
201 Name: 名称未設定 [sage] Date: 04/11/25 23:57:42 ID: nhg7Ye+i Be:
>200
ユーザは言語の洗練具合でアプリを評価する訳ではないですし。
Cocoa-Javaアプリは重いよ。動作速度。
202 Name: 名称未設定 [sage] Date: 04/11/26 00:02:18 ID: 3pf4yLZM Be:
追加:
Cocoa-Javaは起動に時間がかかるが、重いと言っても極端に重い訳ではない。

でもCocoa-Javaは結局JavaブリッジでJavaをObj-Cに変換しているに過ぎない。
CocoaはObj-Cが一番の仲良しさんなんです。
203 Name: 196 [sage] Date: 04/11/26 00:06:27 ID: EqG52UL9 Be:
なるほど、やっぱりJavaのが重いんですね・・・
極端に重いわけじゃないとは言ってもユーザーからすれば
少しでも速いほうが良いですし、結局はObjective-Cになるわけですね。
ありがとうございました。今度、本を買っていろいろ勉強してみます。
204 Name: 名称未設定 [sage] Date: 04/11/26 00:24:24 ID: mHevX6lf Be:
Javaが洗練されてるなんてホントにそう思ってるのか?
中途半端だろ。
205 Name: 名称未設定 [sage] Date: 04/11/26 00:41:12 ID: 3BcPKOHj Be:
洗練という言葉はObj-Cのほうが似合う気がするな。
Java5.0のThreadは便利そうでうらやましいが…
206 Name: 名称未設定 [sage] Date: 04/11/26 01:58:52 ID: 8HfZKyCy Be:
Obj-Cは美しいし柔軟だけど
Javaのような安心感がいまいちというか
まだ低レベル言語寄りというか・・・。
207 Name: 名称未設定 [sage] Date: 04/11/26 02:31:56 ID: 0AeLLBH4 Be:
Objective-CはC++と混ぜて書けるし、CarbonのAPIも呼び放題。
CocoaだけではMacらしいアプリを書くにはちと機能不足。
208 Name: 名称未設定 [sage] Date: 04/11/26 14:08:10 ID: Y7WUOGvR Be:
auto resizeのボタンが横に2つ並んでいて、
左のボタンは右幅を動的に、右のボタンは左幅を動的に設定。
こうした時に、ウィンドウをリサイズすると、ボタン同士の幅が一定にならない。

これを解決する上手いやり方はあるんでしょうか?
フォントパネルのようなウィンドウを作りたいのですが。。。
209 Name: 名称未設定 [sage] Date: 04/11/26 14:53:01 ID: ltTYQMVo Be:
何がいいたいのか全然わからんよ
210 Name: 名称未設定 [sage] Date: 04/11/26 15:20:45 ID: Y7WUOGvR Be:
GUIを文字だけで伝えるのは難しいね。
|------------|
|------------|
|  ( ) ( )   |
|------------|

|------------------------|
|------------------------|
|   (      )    (      )  |
|------------------------|

          |----|
          この幅を固定でリサイズしたいのです
211 Name: 名称未設定 [sage] Date: 04/11/26 16:01:23 ID: 8HfZKyCy Be:
Mac使ってるとは思えないAA
212 Name: 名称未設定 [sage] Date: 04/11/26 16:46:57 ID: 2cIf81A4 Be:
nibの設定だけじゃ無理じゃね?
NSWindowDidResizeNotification捕まえて自分でやるとか
俺としてはボタンは大きくしても全体のデザインが汚くなるだけで良いこと無いと思うが
213 Name: 名称未設定 [sage] Date: 04/11/26 18:06:18 ID: oMBopJ8f Be:
Java風のインターフェイスだわな。
214 Name: 名称未設定 [sage] Date: 04/11/27 00:14:38 ID: rxs9gGz7 Be:
Obj-CもJava並みに的確なエラー報告してくれればなあ。
215 Name: 名称未設定 [] Date: 04/11/30 21:16:55 ID: /+L1o5e1 Be:
例外処理が使いにくいのがね、、、
216 Name: 名称未設定 [sage] Date: 04/12/01 09:11:45 ID: s2WCUzDv Be:
ダイナミックバインディングだからコンパイル・リンク時にエラーが
出なくて実行時にエラー出たりして、初めの頃は大分戸惑った。
調べてみたらメソッドの名前を一字間違ってたなんてのが良くあった。
217 Name: 名称未設定 [sage] Date: 04/12/01 09:23:53 ID: II93Y7Xs Be:
>215

10.3以降がターゲットなら

@try
@catch
@finally

が使えるよ

NSException が普通にキャッチできるよ
218 Name: 名称未設定 [sage] Date: 04/12/01 14:20:37 ID: KaLMg95b Be:
宣言と実装を分けて書くのがダルすぎる
219 Name: 名称未設定 [] Date: 04/12/05 13:03:42 ID: CLFHVF+m Be:
>>216
プログラミングなんてそんなもんじゃねえの
220 Name: 名称未設定 [sage] Date: 04/12/09 23:59:26 ID: mKBIXS4L Be:
Cocoa OpenGL がさっぱり!!!
221 Name: 名称未設定 [] Date: 04/12/14 07:51:05 ID: A63OKDhR Be:
Cocoaでつくったものを、OS9でつかえますか?。
222 Name: 221 [] Date: 04/12/14 08:19:56 ID: A63OKDhR Be:
失礼。
だめみたいだね。
223 Name: 名称未設定 [sage] Date: 04/12/14 09:31:24 ID: rY881cUj Be:
OS 9で開発するならREALbasicがいいのではないかと。
でもバグ多かったり苦労多いらしい。
224 Name: 名称未設定 [sage] Date: 04/12/14 14:06:54 ID: ygHysprh Be:
重ったるいしな
225 Name: 221 [] Date: 04/12/14 14:40:41 ID: A63OKDhR Be:
>>223
OS9用のネットのツール作りたいだけなので、
金かけたくないんですよね。
226 Name: 名称未設定 [sage] Date: 04/12/14 15:44:29 ID: 7bkgR+ty Be:
だったらMPW使えよ。
227 Name: 221 [] Date: 04/12/14 16:09:03 ID: A63OKDhR Be:
>>226
39。しらんかった。
228 Name: 名称未設定 [sage] Date: 04/12/15 04:54:36 ID: xaqQTsFg Be:
モノにもよるけどMacPerl(MacJPerl)とAppleScriptの組み合わせでも
けっこう色々な事ができると思われ。

>>227
何かいいものできたらうpしてくだせー。
229 Name: 221 [] Date: 04/12/15 10:46:45 ID: ju70aJTu Be:
>>228
んだ。がんばるだ。
230 Name: 名称未設定 [sage] Date: 04/12/15 18:26:26 ID: 2aV22198 Be:
OpenTransport使うのか? 結構、大変だよ。
ドキュメントは難解だし、サンプルになるソースも少ない。
ネットワークに詳しければ簡単かもしれんが、そうでないなら
RealBasicでも使った方がいいかも。
231 Name: 名称未設定 [sage] Date: 04/12/15 20:00:04 ID: C0TjuZ9c Be:
金かけたくないって書いてあるよー
232 Name: 名称未設定 [sage] Date: 04/12/15 20:21:23 ID: 2aV22198 Be:
手間を惜しむか、金を惜しむか?

俺はPowerPlantのソースを読んで書いたけどな。ああいうソースがないと
しんどい。MacTCPの方が簡単だが、Carbonでは使えない。OpenTransportは
MacTCP互換でも作ることが出来るんだが、これまたCarbonでは使えない。
233 Name: 名称未設定 [sage] Date: 04/12/16 01:08:18 ID: 0GlekW0n Be:
なんとかしてCocoaでC++使う方法はないのかしらん。
234 Name: 名称未設定 [sage] Date: 04/12/16 01:23:43 ID: BB9SdzRK Be:
ソースの拡張子を.mmにすれば使えませんか
コンパイラはg++にしないと文句言われるかも
ProjectBuilder or Xcodeなら気にしなくていいだろうけど

Objective-C++でぐぐるといろいろ出てくるはず
235 Name: 233 [sage] Date: 04/12/16 03:55:16 ID: 0GlekW0n Be:
なるほど。Objective-C++ってのがあるのか。
で、少し調べてみたけど、全部Object-C++で書いて
Objective-Cと同じ事はできるのかな。
236 Name: 名称未設定 [sage] Date: 04/12/16 09:14:00 ID: i7riW60a Be:
単にObjective-CとC++が混ぜて書けるだけだから
237 Name: 221 [] Date: 04/12/16 09:22:06 ID: EFIB9uMS Be:
>>230
おれにいってたのかw。
テキストブラウザつくりたくてね。
opentransportか、、、むずかしそうだな。
238 Name: 名称未設定 [sage] Date: 04/12/16 17:58:15 ID: c3ghBHkC Be:
テキストブラウザっちゅーと、モザイクさんのような?
239 Name: 221 [] Date: 04/12/16 18:00:17 ID: EFIB9uMS Be:
>>238
それしらない
240 Name: 名称未設定 [sage] Date: 04/12/16 18:06:04 ID: Xwg3RJHG Be:
OS9用だとWannaBeがあるな。日本語表示するためにはパッチを当てなければ
ならないし、いろいろ使いにくいが。
241 Name: 名称未設定 [sage] Date: 04/12/16 20:13:10 ID: c3ghBHkC Be:
>>239
ttp://ja.wikipedia.org/wiki/Web%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6
242 Name: 221 [] Date: 04/12/16 22:25:58 ID: EFIB9uMS Be:
>>241
わざわざありがとう。
アウトラインプロセッサみたいのをイメージしてます。
w3mってのにちかいのかな、、、
243 Name: 221 [] Date: 04/12/17 09:40:41 ID: +pq7DiNB Be:
>>240
めっけました。ありがとう。
244 Name: 名称未設定 [sage] Date: 04/12/17 19:10:43 ID: Nu27VlSE Be:
cocoaでクリッピング領域を設定する方法ってあります?

エディタを作っていて、キャレットの点滅の後にsetNeedsDisplay:YESを
行うと全体を書き直してしまうので無駄な処理が多すぎて難儀してます。
setNeedsDisplayInRect:も結局全体を書き直してしまうし・・・
245 Name: 名称未設定 [] Date: 04/12/24 14:58:32 ID: DJJFwamA Be:
教えてください、頼みます。

愚妻のために、.docファイルをVPCのwordで開くようにする、アプリを作りました。
初めて、Xcodeを使って、AppleScriptで書きました。

Finderでアプリケーションの関連付けは出来て、.docファイルをダブルクリックすれば、
VPCが立ち上がって、mswordで読めるところまではこぎ着けたのですが、肝心のところが
うまく行きません。

それは、Mail.appで、添付ファイルが.docのとき、ダブルクリックでこのアプリで
開くように出来ないのです。どうしても、AppleWorksが立ち上がってしまう。
右クリックでアプリを選べば良いのですが、妻にそこまで要求するのは無理なので、
なんとかダブルクリックで、出来るようにしたいのです。どうしたら良いのでしょうか?

以前、NeoOfficeをインストールしたときには、Mail.appからデフォルトでNeoOfficeが
立ち上がったので、私のアプリケーションの作りが悪いか、あるいは、何かのコマンドが
有ると思うのです。NeoOfficeのインストールパッケージの中にpostinstallのshellスクリプト
が有りますが、それらしきコマンドやファイル操作は見当たりませんでした。

246 Name: 名称未設定 [sage] Date: 04/12/24 16:20:27 ID: 5nHD2khF Be:
Safariでためた各サイトのfaviconは他のアプリからwebkit経由でアクセスできるものなんでしょうか。
Shiiraを見る限りfaviconはシェアされてないようなんですが、
サイトのURLを指定してfaviconを得るような方法はありますか?
247 Name: 名称未設定 [sage] Date: 04/12/24 16:36:30 ID: 4zDc60cH Be:
.plistでfaviconのキャッシュフォルダを同じに変えとけば何とかなるってもんでも
ないの?

WebIconDatabaseDirectoryDefaultsKey
248 Name: 名称未設定 [sage] Date: 04/12/24 17:09:00 ID: 5nHD2khF Be:
>>247
そもそもどうやってfaviconを呼んだらいいのか...
用途はちょっとURLを扱うときにfaviconを添えられたらいいなあという程度なんですが。
WebHistoryItemに -(NSImage*)icon があるので、これをURLを指定して作ればいけるかと思いきや
initWithURLString:title:lastVisitedTimeInterval: を使ってもちゃんと返ってこないんです。
249 Name: 名称未設定 [sage] Date: 04/12/24 18:22:53 ID: yJgEXBCh Be:
>>245
Finder で .doc に関連づけられたアプリケーションを変更したらどうか。
まあ、スレ違いなので Mac OS X 初心者スレでも行った方が良さそうだが。
250 Name: 名称未設定 [sage] Date: 04/12/24 19:38:53 ID: F4cB+47Q Be:
>>249もしくはAppleWorksのplistをいじってdocを開けなくするとか
251 Name: 245 [sage] Date: 04/12/24 20:41:56 ID: DJJFwamA Be:
れすありがとう。もうすこし、調べてみましょう。

252 Name: 名称未設定 [sage] Date: 04/12/26 16:45:14 ID: B5o6I7/v Be:
Mail.appのスレで訊いた方がよかったんぢゃ。
253 Name: 名称未設定 [] Date: 04/12/27 11:59:04 ID: ORz9OUjU Be:
Foundation ToolをDarwinで動かすことはできるんでしょうか?
254 Name: 名称未設定 [sage] Date: 04/12/31 16:33:16 ID: Qcxym1t3 Be:
typedef で定義した型も型チェックしてくれればいいのに
255 Name: 名称未設定 [sage] Date: 05/01/04 21:38:41 ID: bhYZnKU1 Be:
それできるとC言語自体だいぶ使えるようになるんだけど。
結局、defineかましてるのと、ほとんどかわらん。
256 Name: 名称未設定 [] Date: 05/01/04 21:52:53 ID: 0ZSJuvi9 Be:
自作のviewやcellでBindingする時の作法について詳しく解説した本・サイトはありますか?
海外のMLで同様の質問が出ると「NSEditに準拠しろ」という解答がほとんどなんですが
具体的な実装を示したものがなかなか見つからなくて。
257 Name: 名称未設定 [sage] Date: 05/01/05 20:07:31 ID: 4/QiSZMS Be:
Obj-Cのコンパイラが穴だらけでムカつく。

- (Hoge*) hoge
{
  /* empty */
}

こんなの↑が平気でコンパイル通って、
実行するとBAD_ACSSESSとか意味不明なエラーを
わけわからん場所で出すので気づきにくい。
258 Name: 名称未設定 [sage] Date: 05/01/05 20:10:52 ID: 4/QiSZMS Be:
つづりミスった。
× ACSSESS
○ ACCESS

大文字だとたまに間違えるよね? ね?
259 Name: 名称未設定 [sage] Date: 05/01/05 21:16:34 ID: IWQIVKpK Be:
>>257

-Wall
260 Name: 名称未設定 [] Date: 05/01/06 18:11:19 ID: 4BQvmq3+ Be:
質問失礼します。

MainMenuにAmpという項目を追加しました。
Ampという項目をクリックするとPnlAmpというパネルが表示される仕組みにしました。
PnlAmpは通常必要無いのでAmp項目を無効化(灰色になるやつ)にしたいのですが、どうやれば良いのでしょうか?
NSDocumentControllerのvalidateMenuItemで取得できないので困っています。

よろしくお願いします。
261 Name: 名称未設定 [sage] Date: 05/01/06 19:12:05 ID: TkRn3bvZ Be:
NSMenuItemのsetEnabled:だろうけど
NSMenuのsetAutoenablesItems:の設定によっては効かないんだっけ?忘れた
262 Name: 名称未設定 [sage] Date: 05/01/06 22:28:33 ID: a1BdQaOM Be:
>>260
validateMenuItemはターゲットを繋げた先で拾うもんだけど。
アクションがDocControllerにあるのは確か?
263 Name: 260 [] Date: 05/01/07 12:13:40 ID: GoXMEy82 Be:
返答ありがとうござます。
>>262
いえ、繋げていないです。
「ユーザーがAmp項目を選択するとPnlAmpパネルを開く」という仕様にしたいので、
InterfaceBuilderでAmp項目からControlキーを押しながらD&Dで、PnlAmpのタイトルに繋げました。
なんとなく原因が見えてきましたが、イマイチわかりません。。。

よろしくお願いします。
264 Name: 名称未設定 [sage] Date: 05/01/07 12:20:32 ID: IeT538w8 Be:
>>263
PnlAmpを開くコントローラは作った?
Amp項目からconnectするのはPnlAmpのタイトル(パネルのことかな?)ではなく、PnlAmpを制御するコントローラにすればできるよ。
そのコントローラでvalidateMenuItemを受信しなさい
265 Name: 名称未設定 [sage] Date: 05/01/07 12:29:46 ID: R5GUmrAq Be:
>>263
目の前で教えるか、プロジェクトを見てみるとかしないと分からん。
プロジェクトをいきなりうpされてもあなたが何をやりたいのかをソースから判断するのは時間がかかるし。

無駄な時間を過ごすより本買った方がいいよ。

理論ならこの辺でもいいけど。
http://developer.apple.com/ja/documentation/japanese.html
の「Cocoa」「オブジェクトとの通信」の
「ターゲット/アクションパラダイム」
あたり。
266 Name: 260 [sage] Date: 05/01/07 12:33:03 ID: GoXMEy82 Be:
返答ありがとうございます。
>>264
なるほど。
実は263を書いてる時点で薄々感づいてました(w

となると、
validateMenuItemで受信した後、PnlAmpパネルを表示する。
という流れになると思うのですが、プログラムからのパネルの表示ってどうやるのでしょうか?
既に
@interface DocController : NSDocumentController
{
IBOutlet NSPanel *m_pclAmp;
}
というインターフェイスは設けたのですが、、、

以前、そこで躓いたのでAmp項目からPnlAmpパネルのタイトルにconnectしたのを思い出しまいた。
質問が変わってすいません。

よろしくお願いします。
267 Name: 260 [sage] Date: 05/01/07 12:38:28 ID: GoXMEy82 Be:
>validateMenuItemで受信した後、PnlAmpパネルを表示する。
ここは、変でした。

validateMenuItemで受信して、有効無効を設定する。
ユーザーが有効なAmp項目を選択したら、PnlAmpパネルを表示する。

に訂正します。
すいません。
268 Name: 260 [sage] Date: 05/01/07 17:09:53 ID: GoXMEy82 Be:
解決しました。

if(m_pclWinAmp== 0x00000000){
 m_pclWinAmp= [[NSWindowController alloc] initWithWindow:m_pclAmp];
}
[m_pclWinAmp showWindow:nil];

こんな感じですね。

ありがとうございました。
269 Name: 名称未設定 [sage] Date: 05/01/08 18:13:54 ID: ptb7imzv Be:
>>268

だいたいいいけど、もしm_pclWinAmpがIBOutletとして定義してあるなら(バンドルに入ってるなら)、
そこはNSWindowControllerをallocしないで、

IBOutlet NSPanel* m_pclWin;

if( m_pclWin == nil )
{
if ([NSBundle loadNibNamed:@"xxxx" owner:self])
{
//必要ならいろんなことをする
[m_pclWin setExcludedFromWindowsMenu:YES];
[m_pclWin setMenu:nil];
[m_pclWin center];

//このへんでm_pclWinに配置されているUI、Notificationの設定などをする

[m_pclWin makeKeyAndOrderFront:nil];
}
}

みたいにするべし。
WindowControllerはほっとくべし
270 Name: 名称未設定 [sage] Date: 05/01/08 23:35:46 ID: OnTLnrhU Be:
NSTaskで、ディレクトリ内の拡張子のあるファイル全部を指定しようとして @"*.*" をargmentsに加えたんですが
コマンドが「指定ファイルが見つからない」旨のエラーを返します(実際にあるファイル名を指定すると問題ない)
NSTaskに渡す引数に * は使えないんでしょうか?
271 Name: 名称未設定 [sage] Date: 05/01/08 23:38:10 ID: OnTLnrhU Be:
NSTaskで、ディレクトリ内の拡張子のあるファイル全部を指定しようとして @"*.*" をargmentsに加えたんですが
コマンドが「指定ファイルが見つからない」旨のエラーを返します(実際にあるファイル名を指定すると問題ない)
NSTaskに渡す引数に * は使えないんでしょうか?
272 Name: 名称未設定 [sage] Date: 05/01/08 23:40:12 ID: OnTLnrhU Be:
NSTaskで、ディレクトリ内の拡張子のあるファイル全部を指定しようとして @"*.*" をargmentsに加えたんですが
コマンドが「指定ファイルが見つからない」旨のエラーを返します(実際にあるファイル名を指定すると問題ない)
NSTaskに渡す引数に * は使えないんでしょうか?
273 Name: 名称未設定 [sage] Date: 05/01/09 13:29:50 ID: yvN4neVM Be:
あちこちの板で三連投稿を見かけるが何かあったんだろうか?
274 Name: 名称未設定 [sage] Date: 05/01/09 13:45:17 ID: JApCHH+h Be:
深夜1時頃かな。pc5.2ch.netが落ちてた。
鯖が落ちてるのに気付かずに
『あれ?書き込めてないぞ?』と書き込みボタンを連打した香具師が居たという事じゃないかな?

2chで書き込みがタイムアウトとかなった時は
鯖がすごく重くなってるとかだから、そのまま待った方が吉。
275 Name: 名称未設定 [sage] Date: 05/01/09 14:01:11 ID: k0PF7J38 Be:
中華からの攻撃でいくつか鯖が落ちたらしい。
pc5鯖の調子は長いこと最悪だった。なんでpc鯖狙うのかはよくわからんけど。
276 Name: 名称未設定 [] Date: 05/01/10 02:18:05 ID: 0i6UvawU Be:
エアコンをスタートさせるとがたがたいいます。
自宅のは2台そうなってしまいました。
どうすればいいでしょうか。
277 Name: 名称未設定 [sage] Date: 05/01/10 02:34:31 ID: yivhoIqI Be:
資金が豊富にあるなら新しいマシンを買うのが一番だが、
そうでないなら暖かいCocoaでも飲んで春を待つといい。

ただ、不具合の原因がわからないと新品も同じ道を歩む可能性があるので
メーカーのサポートに連絡してみるのが吉。
278 Name: 名称未設定 [sage] Date: 05/01/10 05:26:10 ID: 0i6UvawU Be:
どうも。
ファンが回転すると中でこすれてるんで音がします。
タバコやほこりで中が汚れてるんだと思うんです。
困りますね、最近のコンパクト傾向は。
279 Name: 名称未設定 [sage] Date: 05/01/10 09:09:56 ID: EX2CA6up Be:
タバコをやめればマシンにも自分にも良い影響が。
280 Name: 名称未設定 [] Date: 05/01/11 07:09:59 ID: a9di4ADs Be:
保守
281 Name: 名称未設定 [sage] Date: 05/01/11 22:44:39 ID: MyrQWGA+ Be:
Cocoaはさっぱりでも、PyObjCやwxPythonなら
比較的簡単にCocoaアプリを開発できそうですよ。
282 Name: 名称未設定 [sage] Date: 05/01/12 00:01:36 ID: FdI6Cfme Be:
CocoaやObj-Cが難しいんじゃなくて、資料不足が痛いな、おいら。
英語がわかればなぁ
283 Name: 名称未設定 [sage] Date: 05/01/12 00:25:43 ID: UAHJFjiH Be:
ほんと資料が問題ですよね。
だからPure Javaとかの方がやりやすいと思う。

とか言って漏れはAppleScript Studioがせいぜいなわけですが
これも日本語の資料を色々作ってくれた先人が居るから使えてるんですよね。
284 Name: 名称未設定 [sage] Date: 05/01/12 01:08:07 ID: 6HjU3V0l Be:
SunのサイトでJava API文書は英語と日本語しか配布してないってことは、
日本語ネイティブじゃない人はほとんどみんな英語版を読んでるってことですよね。
日本人プログラマも英語文章をすらすら読めるようになっておかないと、
翻訳待ちしてるあいだに技術導入が遅れちゃうんじゃないかとちょっと心配。
このスレで心配する必要なかったね。
285 Name: 名称未設定 [sage] Date: 05/01/12 01:11:10 ID: UiLHa4jc Be:
>283
Pure JavaとwxPythonどちらが軽そうですか?
286 Name: 名称未設定 [sage] Date: 05/01/12 01:49:26 ID: UAHJFjiH Be:
さあ。Pythonの事は全く知らないからなあ。

そういえばPerlでもCocoaアプリケーション作れるんだよね。
CamelBonesだっけ。

>>284
ある意味日本人でよかったなあと思う。
日本は欧米文化にずいぶん浸食されてるよなと思うけど
技術的な事を学ぼうと思ったら英語じゃないと全くダメって国も
たぶん多いんだよね。
母語が失われて行くのはやっぱり悲しい。
287 Name: 名称未設定 [sage] Date: 05/01/12 01:53:06 ID: M6rFw4K8 Be:
どっかの過去スレで読んだ話。
モンゴルとかだと大学で勉強するレベルの本でモンゴル語で
書かれたものがないから、勉強しようと思ったら
まず英語やロシア語を覚えるのが必須らしい。

288 Name: 名称未設定 [sage] Date: 05/01/12 03:33:33 ID: 6HjU3V0l Be:
世界進出とかを考えたら英語が理解できる方がいいよね。
インド人がアメリカなんかのオフショア開発を
引き受けやすいのも英語ができるという利点があるからみたいだし。
289 Name: 名称未設定 [sage] Date: 05/01/12 05:11:08 ID: UAHJFjiH Be:
グローバル化=文化の多様性の死、人類全体の頂点一極ピラミッド化
ですかね・・。
ああ憂鬱だ。
290 Name: 名称未設定 [sage] Date: 05/01/12 07:54:13 ID: WdZ69FPS Be:
そこでプログラミング言語「ひまわり」ですよ。
291 Name: 名称未設定 [sage] Date: 05/01/12 10:57:25 ID: nvQV6tT5 Be:
何だそれ?
292 Name: 名称未設定 [] Date: 05/01/12 17:32:43 ID: zoSiTyC4 Be:
質問です。
InterfaceBuilderで、NSWindowの上にNSButtonのカスタムクラスBtnPlayを置きました。
このボタン(BtnPlay)を「押した瞬間」と「離した瞬間」のイベント(別にNSEventで無くても良いです)を取得したいのですが、
どうやれば良いのでしょうか?
293 Name: 292 [sage] Date: 05/01/12 17:41:32 ID: zoSiTyC4 Be:
ごめんなさい。解決しました。
NSResponderの派生とは知らなかったんです。
俺の1時間が、、、orz
294 Name: 名称未設定 [sage] Date: 05/01/12 18:57:48 ID: EFeTHluf Be:
安心汁。大抵プログラムで悩むのは一時間じゃ足りない。
一晩悩んだあげくつまんないミスだったりするのはザラだから。
295 Name: 名称未設定 [sage] Date: 05/01/12 22:15:39 ID: oka9PPG4 Be:
一時間で自分で気づけばいい方だよなあ・・・
296 Name: 名称未設定 [] Date: 05/01/13 15:36:39 ID: wnQbq25P Be:
Object-Cを触るの初めてなのですが、

pclTmpName= [NSString stringWithString:fileName];
pclExt= [pclTmpName pathExtension];
pclTmpName= [pclTmpName stringByDeletingPathExtension];
pclTmpName= [pclTmpName stringByAppendingFormat:@"_TMP"];
pclTmpName= [pclTmpName stringByAppendingPathExtension:pclExt];

プログラムは、これで良いのでしょうか?
一応動いていますが、メモリ周りが心配。
解放とかって必要あります?
297 Name: 名称未設定 [sage] Date: 05/01/13 15:44:25 ID: ZrH/s89P Be:
メモリ回りはOK
自分でalloc retain copyしていない限り解放する責任は無い

ちなみにまとめて書くなら
pclTmpName=[NSString stringWithFormat:@"%@_TMP.%@", [fileName stringByDeletingPathExtension], [fileName pclExt]];
とか
298 Name: 名称未設定 [sage] Date: 05/01/13 15:45:15 ID: ZrH/s89P Be:
間違えた
pclTmpName=[NSString stringWithFormat:@"%@_TMP.%@", [fileName stringByDeletingPathExtension], [fileName pathExtension]];
でした
299 Name: 名称未設定 [sage] Date: 05/01/13 15:48:06 ID: RvvcS6pF Be:
メモリまわりはきちんと理解しておいたほうがいいので、

/Developer/ADC Reference Library/documentation/Cocoa/Conceptual/MemoryMgmt/Concepts/ObjectOwnership.html

を穴が開くまで読むことをおすすめします。
300 Name: 296 [sage] Date: 05/01/13 16:09:01 ID: wnQbq25P Be:
なる。
ありがとうございます~。
301 Name: 名称未設定 [sage] Date: 05/01/13 16:14:38 ID: y4kia5HJ Be:
>298

stringByAppendingPathExtension: って 引数が nil の時は .(null) を付けるんでしたっけ?
そのやり方だと付きますよね?

# リファレンスには載ってなかった。 しかも実機が目の前に無い。。。
302 Name: 名称未設定 [sage] Date: 05/01/13 16:18:11 ID: ugV7KcoW Be:
英語・・・。
303 Name: 名称未設定 [sage] Date: 05/01/13 20:57:22 ID: ugV7KcoW Be:
どなたか青空文庫のビューアを作ろうという方はいらっしゃいませんでしょうか・・。
304 Name: 名称未設定 [sage] Date: 05/01/13 21:31:04 ID: KTJyuCui Be:
口ひっぱりながら青空文庫っていってみ
305 Name: 301 [sage] Date: 05/01/13 21:31:09 ID: 6uttlil9 Be:

stringByAppendingPathExtension: にnilを渡すと、
NSInvalidArgumentException が投げられました。

報告まで。
306 Name: 名称未設定 [sage] Date: 05/01/13 21:43:56 ID: V+7kcuP3 Be:
>>303
http://www.voyager.co.jp/azur/
307 Name: 名称未設定 [sage] Date: 05/01/13 21:55:22 ID: 8PtrluXa Be:
>>303が日々2chに費やしてるであろう膨大な時間をコード書きに向けれ
308 Name: 名称未設定 [sage] Date: 05/01/13 22:23:02 ID: oFGwLnag Be:
>>301
NSLogにnilなオブジェクトを渡すと、確か(null)って表示されたような気がする
普通のメソッドに渡すとだいたい例外投げるか落ちるか
309 Name: 名称未設定 [sage] Date: 05/01/14 03:14:46 ID: OaTTOcBT Be:
>>307
そんだけの頭が無いもんで・・・。
特に英語の資料とか無理。
310 Name: 名称未設定 [sage] Date: 05/01/14 17:43:58 ID: udyUVaL4 Be:
>>304
ワロテシモタ
311 Name: 名称未設定 [] Date: 05/01/16 14:04:38 ID: tJNaCTTw Be:
起動中のアプリケーションの一覧
を取得するにはどうしたらいいでしょうか?
(Classic環境で実行されているのも含めて)
312 Name: 名称未設定 [sage] Date: 05/01/16 21:49:51 ID: 5xUCqe2+ Be:
>>311

NSWorkSpace.hより


#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_2

/* The following methods return information about an application as a dictionary containing as many of the following keys as are available:
NSApplicationPath (the full path to the application, as a string)
NSApplicationName (the application's name, as a string)
NSApplicationProcessIdentifier (the application's process id, as an NSNumber)
NSApplicationProcessSerialNumberHigh (the high long of the PSN, as an NSNumber)
NSApplicationProcessSerialNumberLow (the low long of the PSN, as an NSNumber)
The same information will now be provided in the userInfo of the NSWorkspace notifications for application launch and termination.
*/

- (NSArray *)launchedApplications;/* Returns an array of dictionaries, one for each running application. */
- (NSDictionary *)activeApplication;/* Returns a dictionary with information about the current active application. */

#endif
313 Name: 名称未設定 [] Date: 05/01/19 11:34:42 ID: EVat31fi Be:
質問です。
Aというファイルの中で宣言した配列変数を、Bというファイルのヘッダに
"#import A.h"して使おうと思ったのですが"first use ~"とのエラーが出て使えません。
配列変数を別ファイルで使うためにはどのようにすればいいのでしょうか?
314 Name: 名称未設定 [sage] Date: 05/01/19 12:06:26 ID: ZACX0ehw Be:
>313
Cは宣言と確保がきっちり分かれてないから分かりづらいといえば分かりづらい。

この質問も配列変数がCの配列なのかNSArrayとかCFArrayとかなのか分からないので答えづらい。

しかも、グローバル変数論争に発展しかねないのでさらに答えづらい。
315 Name: 名称未設定 [sage] Date: 05/01/19 20:01:28 ID: xexgw/cL Be:
エラーメッセージは略さないで下さい。
こっちはエスパーでもNASAの指令センターでもないのよ。
316 Name: 名称未設定 [sage] Date: 05/01/20 00:29:41 ID: FWd7WgOe Be:
Cocoaでファイル入出力をやるにはXcodeで作るプロジェクトは
Document Based Appじゃないといけないんですか?
つまりJavaのようにとにかくストリームを開いて云々すればいいというわけじゃないんですか?
317 Name: 名称未設定 [sage] Date: 05/01/20 02:05:43 ID: uNb9+vEi Be:
>>316
Document-Based にすると抽象クラスの幾つかのメソッドをオーバーライドするだけで、
ほとんどのことはフレームワークがやってくれるというだけかな?
まあ「だけ」とは言えないほど膨大なことをやってくれるんだけど。
そのほとんどはGUI関連なのでコンソールアプリなら全く不要です。

何なら fopen(3) とか open(2) をそのまま叩いちゃっても別に問題ないです。
318 Name: 名称未設定 [sage] Date: 05/01/20 02:26:58 ID: FWd7WgOe Be:
>>317
なるほど。ありがとうございます。
319 Name: 名称未設定 [] Date: 05/01/20 14:27:41 ID: XBNvkYJR Be:
質問失礼します。
Interface Builderで、NSWindowの上に「AというNSOpenGLView」と「B・CというNSScrollView」を合計3つ置きました。
Bから、Cのポインタを引っ張ってきたいのですが、どうやれば良いのでしょうか?

よろしくお願いします。
320 Name: 名称未設定 [sage] Date: 05/01/20 15:15:22 ID: iyqf3ZK2 Be:
>319
たぶんやりたいことは

NSOpenGLViewを選択。
Layout→Group→Scroller(うろ覚え)
だろうなぁ。
321 Name: 320 [sage] Date: 05/01/20 15:31:39 ID: iyqf3ZK2 Be:
あ、OpenGLなら拡大縮小とかもありか。

そういう場合なら、NSOpenGLViewをサブクラス化してoutletを持たせるか、
コントローラを別に用意してそっちに3つ全てを持たせるかかな。

後者が正当法だと思う。
322 Name: 名称未設定 [sage] Date: 05/01/20 15:49:43 ID: XBNvkYJR Be:
>>320
説明不足ですまんです。
作業した経緯に関しては、
1.A・B・CとNSOpenGLViewを設置した。
2.B・CをLayout→Make subviews of→ScrollViewで、スクロールViewにした。
という感じです。

Bのクラスから、Cクラスへのアクセス(正確にはCが管理しているNSView)を行いたいのですが、、、

BからCにConnection(nextKeyView)しました。
プログラムで[B nextKeyView];
で帰ってきたのがCのクラスなのでしょうか???

よろしくお願いします。
(自分は初心者なので、説明に「勘違い」が含まれてる可能性があります。。。)
323 Name: 名称未設定 [sage] Date: 05/01/20 15:52:31 ID: XBNvkYJR Be:
>>320
>コントローラを別に用意してそっちに3つ全てを持たせる
ヒントありがとうございます。
チャレンジしてみます。
324 Name: 名称未設定 [sage] Date: 05/01/20 16:57:01 ID: 587YXJUr Be:
>>323
M・V・Cの違いをもう1度勉強したほうがいいように思う
325 Name: 323 [sage] Date: 05/01/20 22:24:39 ID: XBNvkYJR Be:
出来ました!

NSView*pclView= [B nextKeyView];
pclView= [pclView nextKeyView];
pclView= [pclView nextKeyView];
pclView= [pclView nextKeyView];
pclView= [pclView nextKeyView];

やっぱ、止めた方が良いですか?(泣
326 Name: 名称未設定 [sage] Date: 05/01/20 22:41:55 ID: VYWc2A+K Be:
最良のアドバイス:ちゃんと本買ってやったら。
327 Name: 名称未設定 [sage] Date: 05/01/20 22:47:49 ID: FWd7WgOe Be:
cocoaは独習はきついわよね
328 Name: 名称未設定 [sage] Date: 05/01/21 00:59:21 ID: +czMnMxs Be:
>>327
cocoaの独習はきついけれど、pythonの独習はそれほどきつくないのでPyObjCでも利用してみては?
329 Name: 名称未設定 [] Date: 05/01/21 10:21:05 ID: rXUn2FW7 Be:
Objective-CでXMLを使いたいんだけど
一般的にはどのパーサを使ってるの?
330 Name: 320 [sage] Date: 05/01/21 10:35:40 ID: 2tDa4kGw Be:
>329
http://developer.apple.com/documentation/Cocoa/Reference/Foundation/ObjC_classic/Classes/NSXMLParser.html
ってのが出来てるが使ったことは無い。

expat でいいんでない?
331 Name: 名称未設定 [sage] Date: 05/01/21 21:31:28 ID: I19yNZvJ Be:
>328
Cocoaフレームワークのマンドクサさからは逃れられないぢゃん……OTL
Objective-Cがネックで挫折した人ならともかく。
332 Name: 名称未設定 [sage] Date: 05/01/21 22:36:31 ID: K8aBgSpQ Be:
Javaのを呼ぶ。
333 Name: 名称未設定 [] Date: 05/01/22 01:09:26 ID: biGruddp Be:
Objective-Cで書いてて一部だけJavaのクラスを呼ぶってのは可能ですか?
なにかサンプルがあればありがたい。
334 Name: 名称未設定 [sage] Date: 05/01/22 11:52:31 ID: Ub3bkmLK Be:
>>333
そんな面倒くさいことはしないほうがいいと思う。

フレームワークなんてどれでも慣れるしかないんだから
335 Name: 名称未設定 [sage] Date: 05/01/22 20:28:40 ID: mCNoMzmo Be:
Cocoa-javaからOpenGL使いたいなぁ
336 Name: 名称未設定 [sage] Date: 05/01/23 04:01:38 ID: USWwFcnf Be:
おれもおもった
337 Name: 名称未設定 [sage] Date: 05/01/24 05:14:57 ID: 13T2kGPN Be:
ジニーエフェクトのAPIって未公開?
338 Name: 名称未設定 [sage] Date: 05/01/24 19:32:49 ID: zzH+Afzh Be:
>337
TransitionWindow()でいけたと思う。
10.3以上でCarbonだけど・・・。
339 Name: 名称未設定 [] Date: 05/01/31 23:44:22 ID: oV5TxmIG Be:
冬はココアですよねやっぱり
340 Name: 名称未設定 [sage] Date: 05/02/02 15:13:16 ID: mBpedoxs Be:
>>60
普通のC言語
341 Name: 名称未設定 [] Date: 05/02/05 01:06:26 ID: n9SmAg32 Be:
CocoMonarを自宅と出張先で使用しておりますが、スレッドの更新状態を同じに(簡単に言えばiSync)みたいな物はありませんでしょうか?
もしくは、どこのファイルをコピーすれば同じ状態にできるのでしょうか?
ご存知の方見えましたら教えて下さい。
342 Name: 名称未設定 [sage] Date: 05/02/05 01:08:34 ID: duv7ytq7 Be:
>>341

OSX専用2chブラウザ"CocoMonar"(22)
http://pc7.2ch.net/test/read.cgi/mac/1106466526/
343 Name: 名称未設定 [] Date: 05/02/05 01:08:49 ID: xI9/Fy4U Be:
ココアはさっぱり森永
344 Name: 名称未設定 [] Date: 05/02/05 21:22:25 ID: Qvw1TEG4 Be:
Cocoa+Obj-CでXMLを取り扱いのですが
JAVAでDOMを利用するような感じで
XMLを読み書きするにはどうしたらよいのでしょうか?

どこかにサンプルソースでもあれば幸いです。
345 Name: 名称未設定 [sage] Date: 05/02/05 21:38:03 ID: RyRiJG6e Be:
直接の解決じゃないけど、10.4ではxmlへのアクセスをサポートするNSXMLが追加されるとか
346 Name: 名称未設定 [sage] Date: 05/02/05 23:26:46 ID: nyfvVqKo Be:
NSXMLParserとかは?
347 Name: 344 [] Date: 05/02/06 01:23:34 ID: hAP73zvg Be:
>>346
こんなものを待ってました。
ありがとうございます。
348 Name: 名称未設定 [] Date: 05/02/16 01:30:14 ID: w2GEcgsw Be:
cocoa-javaでkeyDownでスペースキーが取れないんだけど
Objective-Cの方で実装するにはどういう風にやってますか?

スペースキーはkeyUpでしかとれないみたい
349 Name: 名称未設定 [sage] Date: 05/02/16 02:51:13 ID: vkDCl4Pv Be:
ObjCではふつうにNSResponderのkeyDownでどっさりとれてますが。
350 Name: 名称未設定 [] Date: 05/02/18 12:28:03 ID: CGocdEsl Be:
>>349

NSWindowのkeyDownではどっさり取れるけど
NSWindowControllerのkeyDownでは取れていないことが判明。
チェインは
NSWindowからNSWindowControllerになってるんだけど
NSWindowControllerまで到達しないって事はNSWindowの方で
処理しちゃってるからって事なんですかね?
351 Name: 名称未設定 [] Date: 05/02/18 12:29:37 ID: CGocdEsl Be:
>>349

NSWindowのkeyDownではどっさり取れるけど
NSWindowControllerのkeyDownでは取れていないことが判明。
チェインは
NSWindowからNSWindowControllerになってるんだけど
NSWindowControllerまで到達しないって事はNSWindowの方で
処理しちゃってるからって事なんですかね?

理解間違ってるだろうか。
352 Name: 名称未設定 [sage] Date: 05/02/18 23:23:54 ID: uuu/ddrl Be:
>>344
定番のExpatは?Obj-Cラッパ―もあります。
http://expatobjc.sourceforge.net/
そのままだとちょっとダサいので、Cocoaな感じにアレンジしたほうがいいやね。
353 Name: 名称未設定 [sage] Date: 05/02/19 21:53:29 ID: sI26+cqJ Be:
>>351
なぜNSWindowControllerでkeyDownを取得?
というかNSWindowControllerはあまり変更しないものだと思う。
よくわからないけど、
・カスタムビューを追加して、そこで取得
・あるいはNSResponderを継承したコントローラーを作成して、responder chainに挿入
・NSTextViewなどがfirstResponderで、そいつが取得するイベントを知りたいときは、NSTextViewを継承したカスタムビューを作成
のどれができると思うけど
354 Name: 名称未設定 [sage] Date: 05/02/24 22:18:42 ID: ez8pICu0 Be:
この話の流れに関係あるのかないのかわからないけど質問。

タイトルバーなしの透明ウインドウ中で半透明のイメージを常にほかのアプリケーションより
前面に表示しつつ、その表示されている部分をクリックしてもそのアプリケーションが
アクティブにならない(下に表示されているほかのアプリの操作ができる)

というのを実現するにはどうしたら良いでしょう?
単にNSWindowをタイトルバーなし・透明にして、その上のNSImageに半透明画像を表示す
るだけではクリックに反応してしまいますよね。
うまい方法があれば教えてください。
355 Name: 名称未設定 [sage] Date: 05/02/24 22:35:44 ID: q0lf3fvP Be:
>354
NSWindow にこんなんあったけど。

setIgnoresMouseEvents:

- (void)setIgnoresMouseEvents:(BOOL)flag
Specifies whether the receiver is transparent to mouse clicks and other mouse events, allowing overlay windows.

Availability
Available in Mac OS X v10.2 and later.
356 Name: 名称未設定 [sage] Date: 05/02/24 23:02:43 ID: ez8pICu0 Be:
おお、見落としてたか。thanks!

欲を言えば一部だけクリックに反応とかできたら良いのだけど、これは、クリックに反応する
小さいウインドウを子ウインドウにして横に並べればいいか。
357 Name: 名称未設定 [sage] Date: 05/02/25 01:21:55 ID: TZKhkjBf Be:
NSImageの縦と横のサイズ知りたくて[image size]からNSStringFromSizeして
componentsSeparatedByString:@","してNSMutableStringにして
deleteCharactersInRange:NSMakeRange(0,1)とかしてintValueなんてして
おかしい面倒すぎるNSImageRep使えってことか
とか思ってたら構造体を知った超初心者な俺様が来ましたよ
なんだこの茶番orz
358 Name: 名称未設定 [sage] Date: 05/02/25 01:32:51 ID: I/OdB9wN Be:
Cocoaさっぱりわからない。
スレタイ通り。
アーロン・ヒレガスを読んでも今ひとつ分からない。
もちろん話は楽しい。
読んでマウスをカチカチしているとわくわくする。
しかし、分かった気になっていざ一人でプログラミングに取りかかると、
さっぱり分かっていなくて詰まってしまう。

誰か良い本を教えてください。
359 Name: 名称未設定 [sage] Date: 05/02/25 03:35:37 ID: 4GczcdvV Be:
何がしたいんだよ。
あと本を読んで初歩を知っただけではやっぱりわからない。
作りながら経験を積んで構成を掴んでいくしかない。
みんな調べながら作ってるんだよ。
360 Name: 名称未設定 [sage] Date: 05/02/25 09:26:34 ID: 0g5k3+6R Be:
ヒレガス本に限らず入門書というのは一通り何かのプログラムを作って
おしまい。セミナーに出ても同じ。ヒレガス本がすぐれているのは
Cocoaのプログラミングスタイルが一貫していて、こういう時には
こういう流儀でプログラムするということが出てるんだな。

ただ、ヒレガス本を読んだからすぐに自分の作りたいものが作れる
わけじゃない。ヒレガス本に出ているサンプルはCocoaのごく一部しか
使ってないわけだから。AppleのDeveloperサイトのApplicationKitや
Foundationのリファレンスを見ながら作るしかない。これは誰でも一緒。ApplicationKitやFoundationの各クラスが一体何をするものなのかを
知らなければ何も出来ない。それが面倒だとか英語だから無理なんて
思うのなら諦めた方がいい。

20年くらい前ならインサイドマック徹底ガイドというリファレンス代わり
になる日本語の本があったけど、Cocoaにはリファレンスになるような
日本語の本がないから自分で努力するしかない。
361 Name: 名称未設定 [sage] Date: 05/02/25 20:47:00 ID: czsIoZ07 Be:
>>358
> 誰か良い本を教えてください。
厳しいこと言うようだけど、他の本を読んでも多分無駄。
ヒレガス本と同じことを繰り返すだけだと思う。
何か作りたいものがあってプログラミングの勉強を始めたのだろうから、
とりあえず何でもいいから作り出すこと。
そうしたら「こういう動作をさせたいけどどうすればいいのだろう?」という疑問が出てくるから、
そうしたらそれについて書いてある本を買うなり、文献を探すなり、
ここで聞くなりすればいい。
362 Name: 名称未設定 [sage] Date: 05/02/25 22:27:24 ID: r9OxQGmp Be:
>>361
第一線で活躍しているプログラマの駆け出しの頃って、
みんなそうだったんだろうな。
自分はだいぶ後方から追いかけてる立場だけど、
子供の時はかなりプログラム作りまくってたなぁ。
今は出来合いのモノがしっかりしすぎていて
個人でプログラムを作ろうとしてもなかなかハードルが高いよね。
363 Name: 名称未設定 [sage] Date: 05/02/26 00:04:55 ID: 2mX4UjAD Be:
ヘッダファイルでインスタンス変数なんかを宣言する時に//でコメントつけるのは御法度なんですか?
おかげでしばらく混乱してたんですが
364 Name: 名称未設定 [sage] Date: 05/02/26 00:11:47 ID: W2Ky0rW1 Be:
全く問題なくコメント付けられるが?
365 Name: 名称未設定 [sage] Date: 05/02/26 00:26:14 ID: 2mX4UjAD Be:
じゃあ漏れの頭がおかしいのか('A`)

Controller.h
@interface Controller : NSObject
{

//ディレクトリパス
NSString *directoryPath;
//ファイルリスト
NSEnumerator *dirEnumerator;

}

Controller.m
@implementation Controller

-(IBAction)open:(id)sender
{

directoryPath = [openPanel directory];
dirEnumerator = [[[NSFileManager defaultManager] directoryContentsAtPath:directoryPath] objectEnumerator];

}


…は略です
これでdirEnumeratorの横にバツ印が付いて
`dirEnumerator'undeclared(first use in this function)(Each undeclared indentifier is reported only once for each function it appears in.)
と言われます
しかし/* */でコメントを書くと何も言われません
366 Name: 名称未設定 [sage] Date: 05/02/26 09:32:50 ID: 3wE6guNx Be:
お勧めの方法としては
・本のサンプルを実行してみる
・少し改造をする
・・この時レファレンスと本、ネットの情報と格闘する
・しばらくはこれを繰り返す
・時々オリジナルに挑戦する

こんなもんです。
一歩目の簡単さは旧Macの時代に比べればホントに天と地の違いです。
367 Name: 名称未設定 [sage] Date: 05/02/26 09:52:45 ID: wifZdqvZ Be:
>>359-362 >>366
ありがとう。とても参考になりました。
368 Name: 名称未設定 [sage] Date: 05/02/26 13:31:14 ID: /GfDccb8 Be:
>>365
File Encodingを変えたり、コメントを半角英数字だけにしてもダメ?
369 Name: 365 [sage] Date: 05/02/26 15:47:35 ID: 2mX4UjAD Be:
>>368
日本語(MAC OS)からUTF-8に変えたらエラーは出なくなりました
また日本語(MAC OS)のままでもコメントを半角英数字だけにしてもエラーが出なくなりました
コメントくらい日本語使いたいので/**/でやるかUTF-8にするかですね
しょうがないんでしょうけどこういうのでエラー出ると自分のコードに自信が持てない初心者には辛いですorz
370 Name: 名称未設定 [sage] Date: 05/02/26 21:33:45 ID: /GfDccb8 Be:
>>369
個人的にはコメントと言えどもソースコード内に日本語を書くのはお薦めしま
せん。今回の件のようなコンパイラの問題の他、Xcodeのプロジェクト内検索や
CVS、FileMergeなどで問題が起こることもありますし、将来ソースコードを
公開しようとしたときに海外の人が読めないことにもなります。

・関数名、変数名などを分かりやすくし、コメントは必要最小限にとどめる。
・コメントを書くときは(ナンチャッテでもいいので)英語で書く。
・関数や変数の仕様を書く必要があるときは別ドキュメントにする。
などとしてはどうでしょうか。
371 Name: 名称未設定 [sage] Date: 05/02/26 23:41:17 ID: OEJSj1j4 Be:
俺は逆にコメントは日本語の方がいいと思うなぁ。
書いてる時はいいけど、久しぶりに開くとコメント書いてあっても
「これどういう意味だっけ?」と悩むことも。英語だと読む気すら起きないよ。
日ごろから英語で読み書きする人ならいいかも知れんけど。
372 Name: 369 [sage] Date: 05/02/27 00:13:55 ID: q3MH3c+P Be:
>>370-371
ありがとうございます。
まだ試行錯誤しながら動きを確認してるレベルですし、久しぶりじゃなくても悩みそうなので、
とりあえず/*日本語*/で行きます
将来的には英語にしたいですが今は変数名や関数名の名前考えるだけでいっぱいいっぱいですorz
373 Name: 名称未設定 [sage] Date: 05/02/27 00:23:07 ID: v6vO26G1 Be:
今のうちから英語にしておく癖を付けておいた方が良いと思うがなあ。
374 Name: 名称未設定 [sage] Date: 05/02/27 04:13:54 ID: M6/zL8ve Be:
漏れもコメントは1Byte文字推奨。
できれば英語、次善の策としてローマ字(w<問題多いけどね。

でも今のウチから簡単な英語で読み書きする訓練しとくと、後々人外のソースを読む時にコメントの英語で
悩む事が少なくなるとおもうよ。結局なんだかんだで数の勝負って感じだからねぇ。
開発言語も英語も。
375 Name: 名称未設定 [] Date: 05/02/27 21:23:50 ID: 3eFHPUkk Be:
NSTableView でセルをダブルクリックして直接内容を編集しても
データソースには反映されないために元の値に戻されてしまうのですが、
ちゃんとデータソースも変更するにはどうすればいいのですか?

ぐぐったらHMDTの掲示板で同じ質問がありましたが、
私には具体的な解決方法がわかりませんでした・・・。
376 Name: 名称未設定 [sage] Date: 05/02/27 21:32:21 ID: qv4BvTOA Be:
datasourceにtableView:setObjectValue:forTableColumn:row:メソッドを書くんじゃないの
http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/ObjC_classic/Protocols/NSTableDataSource.html#//apple_ref/doc/uid/20000122/BCIEDFGG
377 Name: 名称未設定 [sage] Date: 05/02/27 21:35:12 ID: v6vO26G1 Be:
-(void)tableView:(NSTableView *)tableView setObjectValue:(id)object forTableColumn:(NSTableColumn *)tableColumn row:(int)row;
こいつを実装する。

-(void)tableView:(NSTableView *)tableView setObjectValue:(id)object forTableColumn:(NSTableColumn *)tableColumn row:(int)row{
Hoge *hoge=[sourceArray objectAtIndex:row];
NSString *identifier=[tableColumn identifier];

if ([identifier isEqualToString:@"name"]) [hoge setName:object];
if ([identifier isEqualToString:@"address"]) [hoge setAddress:object];
}

みたいな感じで。
378 Name: 名称未設定 [] Date: 05/02/27 21:54:46 ID: 3eFHPUkk Be:
>>376-377
できました! 深謝!
379 Name: 名称未設定 [sage] Date: 05/02/27 22:37:30 ID: B9quVjgF Be:
PDFKitのメソッドはどこで調べればいいんでしょうか。
380 Name: 名称未設定 [sage] Date: 05/02/27 23:45:20 ID: 78t7/uHI Be:
NSTableView で、行がクリックされたら xxxx という処理を
したいのですが、どうすればいいでしょうか?
そのときクリックされてる行の各セルの値も知りたいです。
381 Name: 名称未設定 [sage] Date: 05/02/28 01:39:47 ID: yx/nBJv4 Be:
テーブルビューにダブルクリック時のアクションを設定して、
その設定したメソッド内に処理を書く。
これをヒントにCocoaDocumentを見て。調べればすぐにわかるはず。

クリックされている行の値は、ワンクリックされた時点でselectionが
クリックした行になるからそれが何行目かはselectedRowでわかる。
値の調べ方は・・・わかるよね?データのselectedRow番目を見ればいい。
382 Name: 名称未設定 [sage] Date: 05/02/28 01:51:10 ID: xxgxzxc0 Be:
>>380
「クリックされたとき」のみであれば381でもいいけど
「選択されたとき」という意味であれば違うからね
調べればすぐにわかるけど
ちなみに、クリックだろうがキーだろうが選択状態を調べるときは
複数選択されている可能性も考慮しましょう。
コード上は複数選択でも動くように実装しておいて
IBで複数選択ができるかどうかを切り替えるのがいいでしょう。
383 Name: 名称未設定 [sage] Date: 05/03/01 13:34:24 ID: cvLLArNy Be:
>>379
PDFKitはTigerからだが。
384 Name: 名称未設定 [sage] Date: 05/03/01 19:45:01 ID: Dlr6OkFI Be:
頭悪くてすいません、混乱してしまったので確認させてください。

NSImage *image;
//NSImage型であるimageという変数名(ポインタ)を宣言。
image = [NSImage alloc];
//NSImageのインスタンスを生成し(=メモリを確保)、
//imageにそのインスタンスのメモリアドレスを設定する。
//つまりimageはNSImageのインスタンスを参照している
[image release];
//NSImageのインスタンスのretainCountを0に=解放=メモリを解放
//imageというNSImage型の変数名自体は残る?

image = [NSImage alloc];//1回目
image = [NSImage alloc];//2回目
//とした場合1回目のインスタンスは参照を失う
[image release];
//としても2回目のインスタンスしか解放されない
//1回目のインスタンスはどこからも参照されてないのでどうやっても解放出来ない=メモリリーク
//ただしアプリを終了した時には解放される?

これで合ってるでしょうか。
?マークつけたとこは合ってるか自信が無いのですが…
ほんとに頭悪くてすいません…
385 Name: 名称未設定 [sage] Date: 05/03/01 21:46:11 ID: pGQNXxNN Be:
合ってる。
386 Name: 名称未設定 [sage] Date: 05/03/01 22:24:15 ID: Dlr6OkFI Be:
>>385
ありがとうございます。やっとこ理解出来ました。
387 Name: 名称未設定 [sage] Date: 05/03/01 23:13:48 ID: u5cCnNmr Be:
initしてないオブジェクトをreleaseしてちゃんと解放されるかは少し疑問
面倒でもちゃんと
[[NSImage alloc] init];
って書いとけ
388 Name: 名称未設定 [sage] Date: 05/03/01 23:26:11 ID: pGQNXxNN Be:
そう言われると不安なので、
-(void)test{
NSImage *image;
image=[NSImage alloc];
NSLog(@"%d",[image retainCount]);
[image release];
NSLog(@"%d",[image retainCount]);
}
こんなコードを書いてみた。
2回目の NSLog の部分で落ちるので、たぶん解放されてるんだろう。
alloc と init をセットにしておけというのは同意。
389 Name: 名称未設定 [sage] Date: 05/03/01 23:50:39 ID: Dlr6OkFI Be:
>>387-388
すいません。端折ってしまいました。
initしてないと危ういという事は覚えておきます。ありがとうございます。
ところで連続で申し訳ないのですが、NSImageViewを使っていて疑問が生まれました

-(void)test{
NSImage *image = [[NSImage alloc] initWithContentsOfFile:@"/Users/ore/ore.jpg"];
NSImage *image2 = [[NSImage alloc] initWithContentsOfFile:@"/Users/ore/ore2.jpg"];

NSLog(@"%d",[image retainCount]);//1
[imageView setImage:image];
NSLog(@"%d",[image retainCount]);//3
[imageView setImage:image2]
NSLog(@"%d",[image retainCount]);//5
[image release];
NSLog(@"%d",[image retainCount]);//4
}


これはtestメソッドが終わればimageはちゃんと解放されるんですか?
最後のretainCountが2なら解放されるんだろうと思えるんですが、4とか5とか…
390 Name: 名称未設定 [sage] Date: 05/03/02 00:10:21 ID: 5fWgeDkn Be:
test が終わった時に解放されるとは限らない。
NSImageView が不要と判断した時に解放される。
391 Name: 名称未設定 [sage] Date: 05/03/02 00:17:23 ID: F1mg1G4n Be:
>>390
レスありがとうございます。
うむむ…
[imageView setImage:image2]
としてもNSImageViewは不要と判断しないんですか
もうちょっとNSImageViewのDeveloperDocument読んできます
392 Name: 名称未設定 [sage] Date: 05/03/02 00:17:35 ID: qpjwD7xE Be:
>>389
たぶん autorelease pool に入ってるのでは。

>>390
[ imageView setImage: image2 ]; してるから、image はもう必要ないかと。
393 Name: 名称未設定 [sage] Date: 05/03/02 00:43:41 ID: F1mg1G4n Be:
>>392
レスありがとうございます
autorelease poolに入ってるのかも、ならtestメソッドが終われば解放されるのでは?
とは思ったんですが、retainCountの値が腑に落ちなくて質問しました。

今テストしてたんですが、
>>389のtestメソッドの中ではなく、
testメソッドが終わった後に別のメソッドで[image retainCount];すると落ちました。
解放されると考えて良さそうですね
しかしretainCountが5になるのが謎ですが…
これ以上つっこむと内部まで行きそうなのであまり考えない事にします
ありがとうございました
394 Name: 名称未設定 [sage] Date: 05/03/02 08:12:50 ID: 4OZX83Dg Be:
>autorelease poolに入ってるのかも、ならtestメソッドが終われば解放されるのでは?
testメソッド終了直後じゃなくて
testメソッド実行中のRunLoopが終了したら解放されるんだと思う

retainCountの数についてはあまり気にしない方が良いんじゃないかな
NSImageViewが他のオブジェクトに渡している可能性もあるし
395 Name: 名称未設定 [sage] Date: 05/03/02 11:49:37 ID: tcuxo1Nj Be:
なぜわさわざ、そんな怪しいコードを書くのか理解できん。
396 Name: 名称未設定 [] Date: 05/03/03 11:05:45 ID: /CO+6QVm Be:
REALbasicからフォントパネルを使うってことは
可能ですか?
397 Name: 396 [] Date: 05/03/03 14:41:32 ID: /CO+6QVm Be:
スマソ
REALbasic板で聞き直します
398 Name: 名称未設定 [sage] Date: 05/03/03 21:41:32 ID: tbHcPSkQ Be:
Document Types:でjpgを登録して、アプリケーションアイコンにjpgをドロップ出来るようになりました
ドロップされたファイルのパスはどうやったらわかりますか?
Document-based Applicationじゃないと無理ですか?
399 Name: 名称未設定 [sage] Date: 05/03/03 21:50:04 ID: HSXoIHIN Be:
>>398

NSApplicationのdelegateを調べるべし
400 Name: 名称未設定 [sage] Date: 05/03/03 22:01:35 ID: tbHcPSkQ Be:
>>399
出来ました。ありがとうございました。
401 Name: 名称未設定 [sage] Date: 05/03/09 18:03:34 ID: SX/XQBkJ Be:
[[[[NSNichannel sharedNichannel] boardForName:@"新・mac"] threadForName:@"Cocoaはさっぱり!!! version.4"] write:@"保守" name:nil email:NSSageEmail];
402 Name: 名称未設定 [sage] Date: 05/03/10 23:32:21 ID: mikvhw8q Be:
[[[NSNichannel sharedNichannel] boardForName:@"新・mac"] threadForName:@"Cocoaはさっぱり!!! version.4"] addObserver:self selector:@selector(newMessageDidArrive:) name:NSNewMessageDidArriveNotification object:nil];
403 Name: 名称未設定 [sage] Date: 05/03/10 23:49:05 ID: m6aUUfZE Be:
Cocoa のヘッダとか見てるとデザインパターンの勉強にもなるよな。
404 Name: 名称未設定 [sage] Date: 05/03/11 12:29:46 ID: voZakjpf Be:
>>403
Objective-C のおかげでデザインパターンが自然に表現できている感じ。複雑なクラス構造とかインタフェースを駆使しないで最短経路でいける。
さらに Cocoa Framework + InterfaceBuilder の組み合わせによって、MVC アーキテクチャの理解も進むし。
Cocoa サイコー。
405 Name: 名称未設定 [] Date: 05/03/11 13:54:15 ID: 5qTF931u Be:
ジェネリクスが使いたい
406 Name: 名称未設定 [] Date: 05/03/11 14:07:47 ID: kS+x/NcN Be:
スタック上にオブジェクトを配置したい

ブロック構文を使いたい
407 Name: 名称未設定 [] Date: 05/03/12 00:24:58 ID: dLlkX9wr Be:
NewsFire の左側のような、
順番入れ替わるときに滑らかにアニメーションする array(?) 項目って
どうやって作るんでしょうかねー。
408 Name: 名称未設定 [sage] Date: 05/03/12 06:29:35 ID: Wsl8ue1+ Be:
NSTimerとか
409 Name: 名称未設定 [sage] Date: 05/03/12 08:07:34 ID: WywmQU/Z Be:
WebViewに既に表示されている文字リンクの場所を
nsrectとかで取得できたりします?
410 Name: 名称未設定 [] Date: 05/03/12 10:55:50 ID: xbo0Ksfy Be:
>>408
View は自作ですかねー
411 Name: 名称未設定 [sage] Date: 2005/03/22(火) 16:00:15 ID: ZNAFhDCc Be:
すみません、Cocoa入門したばかりの者ですが
outlineViewを使ってフォルダの中身ではなく
ただの文字をツリー状に表示させてみたいのですがいまいちわからず…
どなたかご教授お願いします
412 Name: 320 [sage] Date: 2005/03/22(火) 16:56:43 ID: MBqbsSkH Be:
>411
DataSourceってのを調べてください。
NSOutlineView.h の最後のほう。
スーパークラスであるNSTableViewを調べておくのもいいかも。
413 Name: 名称未設定 [sage] Date: 2005/03/22(火) 16:57:44 ID: MBqbsSkH Be:
名前は間違いです。>320さんとは関係有りません。
414 Name: 名称未設定 [] Date: 2005/03/22(火) 21:37:59 ID: HNikHTm5 Be:
NSTaskでコマンドに*のワイルドカードを使った引数を渡そうとすると失敗してしまいます。
(NSTaskはワイルドカードを展開してくれないという記事も見つけたんですが、本当でしょうか)
そんなわけでNSFileManager経由で適合するファイル名をリストにして渡すようにしたんですが、
今度はファイルが多い&ファイル名が長いとコマンドが終了しなくなってしまいます。
ワイルドカードを使った場合と同じ結果(適合するファイルを完璧にコマンドに渡す)が
得られる方法はないでしょうか。
415 Name: 名称未設定 [sage] Date: 2005/03/22(火) 23:05:56 ID: 7c4x5GHQ Be:
ワイルドカード(というかglob)はシェルの機能だからNSTaskは展開しません。
こんな感じにシェルにまかせればいいと思う。
NSArray *args = [NSArray arrayWithObjects:@"-c", @"こまんど", @"foo*", nil];
[NSTask launchedTaskWithLaunchPath:@"/bin/sh" arguments:args];
416 Name: 名称未設定 [sage] Date: 2005/03/22(火) 23:48:53 ID: HNikHTm5 Be:
ありがとうございます。でも全然反応が返ってこないです。こんな感じなんですが。

NSArray *argArray = [NSArray arrayWithObjects:@"-c", @"/usr/bin/zip", @"test.zip", @"*.txt", nil];
NSTask *task = [[NSTask alloc] init];
[task setLaunchPath:@"/bin/sh"];
[task setArguments:argArray];
(後略)
417 Name: 415 [sage] Date: 2005/03/23(水) 00:53:25 ID: PP/nTh6O Be:
>>416
[NSArray arrayWithObjects:@"-c", @"/usr/bin/zip test.zip *.txt", nil];
コマンド~パラメータは1つの文字列に。
てきとうにかいてしまってゴメン。
418 Name: 名称未設定 [sage] Date: 2005/03/23(水) 23:30:06 ID: ONuZLGQ3 Be:
ありがとうございます。できました。
419 Name: 名称未設定 [] Date: 2005/04/08(金) 04:11:11 ID: 5K1cGjMs Be:
ランチャーソフト等で使われてるホットコーナーやホットキーのように、
最前面でないアプリがグローバルに入力を横取りするのはどういう仕組みなんでしょうか?
420 Name: 名称未設定 [sage] Date: 2005/04/08(金) 04:15:57 ID: IhAq/RUo Be:
ホットキーは InstallApplicationEventHandler と RegisterEventHotKey を使う。
Apple のサイトにある FunkyOverlayWindow が参考になる。
421 Name: 名称未設定 [sage] Date: 2005/04/09(土) 11:13:52 ID: Z+aAV6SJ Be:
ホットコーナーだったら任意の場所に透明のウィンドウをフロートで最前面に置いておいて
TrackingRectを監視するってのはどう?
422 Name: 名称未設定 [sage] Date: 2005/04/09(土) 12:42:53 ID: 2AHWsSdr Be:
>>420-421
ありがとうございます。やってみます。
423 Name: 名称未設定 [sage] Date: 2005/04/13(水) 09:19:49 ID: no+DdJtG Be:
toolbarの高さを取得するメソッドはないのでしょうか?

ウィンドウのMaxSizeをアプリ側で固定していますが、
現在はtoolbarが表示されているときには、
defineで指定した数値を足して最大サイズを管理しています。
(数値はtoolbar表示・非表示の時のウィンドウサイズのログから取得)
424 Name: 名称未設定 [sage] Date: 2005/04/13(水) 10:00:54 ID: E1bmq/RC Be:
>>423
ウィンドウの高さ - contentViewの高さ
ツールバーってcontentViewに入ってるんだっけ?入ってないよね?
425 Name: 名称未設定 [sage] Date: 2005/04/13(水) 12:05:51 ID: no+DdJtG Be:
>423
上手くいかないです。。。
差分を取ると、titlebar + toolbarの高さが取れるけど、
MaxSizeには titlebar + contentViewの値が必要だから、
titlebarのサイズを取得するには・・・どうすればいいんでしょうか?
426 Name: 名称未設定 [sage] Date: 2005/04/13(水) 13:42:36 ID: no+DdJtG Be:
開発環境が10.2の為、苦労しました。
(見つかるドキュメントは10.3 and laterばかり・・・orz)

10.2以前限定ですが、一応書いておきます。

setToolbarを実行する前に、>423が説明しているやり方でtitlebarの高さを取得。
[ NSWindow setMaxSize : NSSize ]では
contentView + titlebarを指定。
427 Name: 名称未設定 [sage] Date: 2005/04/14(木) 12:39:33 ID: PcxJTHZY Be:
Xcode2になれば、マニュアルやらドキュメントはローカライズも含めてもう少し充実するかな?
428 Name: 名称未設定 [sage] Date: 2005/04/14(木) 12:41:45 ID: GmeSsDVk Be:
>ローカライズも含めて
ますます追いつかなくなる、に2000点
429 Name: 名称未設定 [sage] Date: 2005/04/15(金) 16:59:00 ID: A5txCAMv Be:
>>428
もちろん、はらたいらさんに、2000点
430 Name: 名称未設定 [sage] Date: 2005/04/17(日) 23:03:29 ID: W29Uv4MF Be:
>> 427
英語を勉強しる
431 Name: 名称未設定 [] Date: 2005/04/24(日) 01:08:05 ID: HoG74g/x Be:
はじめまして。まちゃぽこと申します。
Carbonでコーディングする場合、
複雑な範囲の塗りつぶしやクリッピングは、
リージョンというものを使いますよね。
APIはPaintRgnやClipRgnとか、引数にリージョンデータを
指定して、呼び出しをしますよね。

Cocoaでコーディングする場合、
複雑な範囲を記録するデータ構造っていうものを
どういったクラスで扱えばいいのかが分かりません。

たとえば、円形10000個のUnionをとった領域を
塗りつぶし領域として記録する場合、円形10000個の
中心座標と半径を記録しておくしかないんでしょうか?
Carbonのリージョンデータのように1つのデータとして
扱うことができないんでしょうか…?

どなたか教えていただけると幸いです。
よろしくお願いいたします。
432 Name: 名称未設定 [sage] Date: 2005/04/24(日) 02:31:00 ID: hrbhW4ta Be:
NSBezierPath
433 Name: 名称未設定 [sage] Date: 2005/04/25(月) 11:37:19 ID: 08IrRys/ Be:
NSBezierPathは、集合演算が欲しいな。
434 Name: 名称未設定 [sage] Date: 2005/04/25(月) 17:22:56 ID: 4/tw/1c3 Be:
NSBezierPath、遅い・・。
435 Name: 名称未設定 [sage] Date: 2005/04/25(月) 18:40:38 ID: YRjP9eH6 Be:
>431
Carbon の遺産があるなら素直に Carbon でやるのが吉。
NSQuickDrawView を使えば GrafPort が簡単に取れるよ。
436 Name: 名称未設定 [sage] Date: 2005/04/25(月) 22:06:17 ID: rMzUNH1Q Be:
>>433
そう言えばCocoaでベジェ曲線のブール演算とかするライブラリって無いのかな。
libart周辺にはありそうな気もするけど。
437 Name: 名称未設定 [sage] Date: 2005/04/26(火) 11:36:48 ID: eIfcIJzR Be:
>>436
ベジェ同士のプール演算の他に、他のベジェや点との包含判定も欲しいし、現在のペンとキャップとジョインの描画結果(輪郭)をベジェで取りだすAPIも欲しい。
後者は、外部ライブラリだとムリかな。
438 Name: 名称未設定 [sage] Date: 2005/04/26(火) 13:08:15 ID: ZBsHnmEk Be:
QuickDrawViewはプリントが出来ないっ。ディスプレイに表示だけなら
いいけどさ。
439 Name: 名称未設定 [sage] Date: 2005/04/26(火) 13:25:16 ID: 1gPBecy+ Be:
>438
GWorld で自力バッファリング。
通常の描画はCopyBits() で NSQuickDrawView の GrafPort へ。

-(void)print:(id)sender; を
1,GWorld -> NSImage 変換。自分自身を消去後 NSImage を自分自身に描画。
2,[super print] を呼ぶ。
3,[self drawRect:] で再描画。

とやればうまくいくんじゃないかなと想像してみる。

1 が通常の NSView 扱いにならなければ無理だけど。
440 Name: 名称未設定 [sage] Date: 2005/04/26(火) 13:46:30 ID: d+rSviRD Be:
>>437
QuickDrawGXだと簡単にできた。CoreGraphicsは足りない機能が
まだたくさんある。
>>438
一旦PICTを経由して描画すれば良い。PICTからPDFへの変換は簡
単だからプリントはPDFベースで行なう。
441 Name: 名称未設定 [sage] Date: 2005/04/26(火) 19:08:07 ID: DmrYPtJv Be:
あるメソッドで作ったNSString *hogeの値を別のメソッドでも使いたいんですけど、
これってどうしたらいいんでしょう? ヘッダファイルでインスタンス変数として
書いておくらしいのはわかったんですが、具体的な方法がわからないです。

hoge = @"この文字列";
[hoge retain];

↑のような書き方では駄目ですよね?
442 Name: 名称未設定 [sage] Date: 2005/04/26(火) 22:33:33 ID: 1VaS7pzn Be:
スコープ
443 Name: 名称未設定 [sage] Date: 2005/04/27(水) 00:37:16 ID: pEfR1oGv Be:
質問の意味がわからん。
444 Name: 名称未設定 [sage] Date: 2005/04/27(水) 00:59:08 ID: bmYDKnzs Be:
>>441

文字列リテラルを retain するな。あと、C言語を勉強しろ。
445 Name: 名称未設定 [sage] Date: 2005/04/27(水) 01:02:12 ID: Q315ucrb Be:
>>441
ヘッダファイルでは宣言だけ

Hoge.h
@interface Hoge : NSObject
{
NSString *hoge;
}
446 Name: 名称未設定 [sage] Date: 2005/04/27(水) 07:56:11 ID: L14tcPq4 Be:
>>441
最近はAppleのサイトからObjective-Cのドキュメントの和訳が読めるので、
参考にするといいんじゃないかと思う。

該当部分はクラス定義とメモリ管理の部分だと思うんだけど、難しいかな。
でもこれを読むくらいのやる気がないと続かないのではないかと思う。
特にメモリ管理の方はしっかり理解しておいた方がいいと思う。

http://developer.apple.com/ja/documentation/cocoa/Conceptual/ObjectiveC/3objc_language_overview/chapter_7_section_5.html
http://developer.apple.com/ja/documentation/cocoa/Conceptual/ObjectiveC/4objc_runtime_overview/chapter_8_section_2.html

>>444
「文字列のリテラルをretainしてはならない」なんて話はなかったと思う。
リテラルだと本当にわかっていればretainする必要はない、というのはあるけど。
そういう意味だよね?
447 Name: 441 [sage] Date: 2005/04/27(水) 19:23:04 ID: faDuKesr Be:
>>442-446
レスありがとうございます。
わかり易くしようと思ったら自分の知識不足からわかり難くしてしまいましたorz
すいません。実際にやりたかったのは、

Hoge.h
@interface Hoge :NSObject
{
NSString *hoge;
}

Hoge.m
- (void)hogeMethodA:(NSString *)hogehoge
{
hoge = hogehoge;
}

- (void)hogeMethodB
{
NSLog (hoge);
}

↑のNSLog(hoge)でhogehogeが出力されるようにしたかっただけです。
和訳を読みながらもう少し勉強してみます。
448 Name: 名称未設定 [sage] Date: 2005/04/27(水) 19:28:21 ID: e2sTkaPZ Be:
ver.4 だったらわかるけど略さないなら version 4 が正しいのではないか、と思った
449 Name: 名称未設定 [sage] Date: 2005/04/27(水) 19:29:03 ID: E4eLAmei Be:
- (void)hogeMethodA:(NSString *)hogehoge
{
[hoge release];
hoge = [hogehoge retain];
}
450 Name: 441 [sage] Date: 2005/04/27(水) 20:20:39 ID: faDuKesr Be:
>>449
それは出来なかった筈……と思ったら、出来ました。
テストしてたクラスとは別のクラスで試したら出来ました。
これが原因だったのか?? 兎も角ありがとうございました。
451 Name: 名称未設定 [sage] Date: 2005/04/27(水) 21:24:09 ID: pEfR1oGv Be:
>>449
それじゃ hoge == hogehoge かつ retain count が 1 のときに dealloc されちゃう。


- (void)hogeMethodA:(NSString *)hogehoge
{
[hoge autorelease];
hoge = [hogehoge retain];
}

か、あるいは

- (void)hogeMethodA:(NSString *)hogehoge
{
if (hoge != hoegehoge) {
[hoge release];
hoge = [hogehoge retain];
}
}
452 Name: 446 [sage] Date: 2005/04/27(水) 21:50:48 ID: L14tcPq4 Be:
>>450
>449は典型的な悪い例だね。少なくとも一般的な使い方では。
言い方は悪いけど、メモリ関係の所をしっかり読んでおいた方がいいと言った
のは、まさにこういうのを避けるため。

英語だけど、こっちの方が詳しいな。
http://developer.apple.com/documentation/Cocoa/Conceptual/MemoryMgmt/Concepts/ObjectOwnership.html
読んでみるとわかってなかったことを発見。orz
まあ、よっぽど自信がない限りはautorelease使え、ということで。
453 Name: 名称未設定 [sage] Date: 2005/04/27(水) 22:01:17 ID: 6MSGTpXO Be:
Appleはこういう書き方もしてたと思う

- (void)hogeMethodA:(NSString *)hogehoge
{
 [hogehoge retain];
 [hoge release];
 hoge=hogehoge;
}
454 Name: 名称未設定 [sage] Date: 2005/04/29(金) 00:15:08 ID: 19WrYXab Be:
>>451
3行目の
[hoge autorelease];
はnilか否かの判定必要ですよね?
if ( hoge != nil ) [hoge autorelease];
455 Name: 名称未設定 [sage] Date: 2005/04/29(金) 00:17:51 ID: Dq2J8aPS Be:
nil はどんなメッセージが来てもスルーするから
判定は不要なんじゃないか。
456 Name: 名称未設定 [sage] Date: 2005/04/29(金) 00:31:17 ID: 19WrYXab Be:
初めて知りました>nilスルー
ならば納得です
457 Name: 名称未設定 [sage] Date: 2005/04/29(金) 01:09:46 ID: Ds+f6iuI Be:
nilをreleaseしようとしたら落ちないか?
458 Name: 名称未設定 [] Date: 2005/04/29(金) 01:18:20 ID: 5n3TLzDE Be:

ファイルの作成日を変更する方法ってCocoaで可能なんでしょうか?
NSFileManager の changeFileAttributes:atPath:
では、「変更日」は変更できても「作成日」は変更できないみたいですし。
CarbonAPIを呼ぶしかないんでしょうかねぇ…
459 Name: 415 [sage] Date: 2005/04/29(金) 01:39:09 ID: MMsJsC97 Be:
>>457
落ちない。
deallocされたオブジェクトにreleaseメッセージを送ると落ちる(ことがある)。
460 Name: 458 [] Date: 2005/04/29(金) 03:03:08 ID: 5n3TLzDE Be:
出来たっぽいです。
すみません。
461 Name: 名称未設定 [sage] Date: 2005/04/29(金) 09:57:11 ID: O0Ar3QXv Be:
>>459
それで悩んだ事がある。nilに送っても無視されるって言ったじゃないかーって。
まぁよく考えたらnilじゃないんだけど
462 Name: 名称未設定 [sage] Date: 2005/04/29(金) 10:09:46 ID: BbSjylit Be:
ポインタが指しているメモリブロックが有効なオブジェクトかどうかを調べる方法は無いみたいだから
deallocした(つもりでいる)ポインタはいちいち=nil;しておくととりあえず安全
463 Name: 名称未設定 [sage] Date: 2005/04/29(金) 15:35:59 ID: XPqrcbfb Be:
Xcode2はどんな感じ?
464 Name: 名称未設定 [sage] Date: 2005/04/29(金) 18:13:10 ID: Ds+f6iuI Be:
インスコするの忘れてた
465 Name: 名称未設定 [sage] Date: 2005/04/29(金) 22:17:02 ID: zEpiS3/Q Be:
すいません質問させて下さい。
NSWindowControllerのinitWithWindowNibNameで作ったウインドウに
NSImageViewをつけてるのですが、これら(ウインドウとImageView)の
オブジェクト(メモリ?)を解放させる方法がわからないのです。

closeでウインドウを閉じてからならImageViewのImageもこちらから
release出来るようなのですが、クローズボックスを押してウインドウを
閉じたらウインドウとウインドウが含むオブジェクトを全て解放する、
といったような動作は出来ないのでしょうか?
466 Name: 名称未設定 [sage] Date: 2005/04/30(土) 00:56:59 ID: iCkfgaHm Be:
>>465

NSWindowController が dealloc されるとそのメンバである _window も rerlease される。
NSWindowController に setWindow: で nil をセットすると、 元の _window は release される。

NSWindow が dealloc されるとそのメンバである _contentView (NSView) も release される。

NSView が dealloc されるとそのメンバである _subviews (NSMutableArray) も release される。

NSMutableArray が解放されるとその要素も release される。
467 Name: 466 [sage] Date: 2005/04/30(土) 01:00:20 ID: iCkfgaHm Be:
>> _subviews (NSMutableArray)
これは嘘だけど、こっちの方が分かりやすいだろうからね。
468 Name: 名称未設定 [sage] Date: 2005/04/30(土) 01:07:58 ID: K5Yumgyi Be:
- (void)setReleasedWhenClosed:(BOOL)flag;
を YES にしときゃ良いってことかね。
469 Name: 名称未設定 [sage] Date: 2005/04/30(土) 02:12:39 ID: 87JSBF39 Be:
IBにNSLevelIndicator(.mac容量風)やらNSTokenField(Mailの宛先風)が追加されてるね。
470 Name: 465 [sage] Date: 2005/04/30(土) 19:01:57 ID: /tuMHHcH Be:
>>466-468
レスありがとうございました。
御陰でなんとか解放する事が出来たようです。
471 Name: 名称未設定 [sage] Date: 2005/04/30(土) 20:44:47 ID: 87JSBF39 Be:
CoreDataとMetaData Importerのdoc読んでたら頭痛くなってきた。
472 Name: 名称未設定 [sage] Date: 2005/05/01(日) 11:16:19 ID: M0Znzs2F Be:
MetaData周りは楽しそうだな。
でもTigerは新PowerBookまでおあずけな俺。
473 Name: 名称未設定 [sage] Date: 2005/05/01(日) 13:47:07 ID: rk7FUsuk Be:
Core Dataとmetadataの扱いって連携できるみたいなこと書いてなかったっけ?
やりやすいってだけの話なのかな。
474 Name: 名称未設定 [sage] Date: 2005/05/02(月) 00:07:07 ID: GkFAPdde Be:
ここに書いて良いのか迷いながら書きます。
TigerになってPackage Makerもバージョンアップしましたね。
普通にパッケージを作るとライセンス表示の所から英語表記になるのですが、
みなさんはどの様に対処されていますか?
475 Name: 名称未設定 [sage] Date: 2005/05/02(月) 01:27:03 ID: 4j8ZAVEI Be:
NSLevelIndicatiorのratingスタイル激しく使えねえ。なんでこんな気持ち悪い挙動なんだ。
NSDatePickerはスタイル変えるとiCal左側のミニカレンダーそのままのものが使える。
使う予定ないけどちょっといい。
476 Name: 名称未設定 [sage] Date: 2005/05/03(火) 20:52:57 ID: Zlm9w7FC Be:
Cocoa de AppleScriptableなドキュメントがいっぱい更新されたんで、
実験してるんだけど。うまくいかない。

CreatorCodeの話なんだけど。
Application sageに、AppleScriptコマンドageを定義したとして
 sage.scriptSuiteのAppleEventCode と、
 ageコマンドのAppleEventClassCode って、
やっぱりCreator Codeにしないとだめなのかな
デフォルトの????のままではうごかないの?

Creator codeの申請ページで依頼かけたんだけど、3日たっても
かえってこない...どうすりゃ動くんだ。
477 Name: 476 [sage] Date: 2005/05/06(金) 10:10:31 ID: HBW/IKJA Be:

4亀で来た。Apple仕事遅すぎ。あっちは平日だろ。
478 Name: 名称未設定 [sage] Date: 2005/05/06(金) 17:45:04 ID: +jFXCesU Be:
初歩的な質問ですがお願いします。
NSTableViewの中のセルを編集してenterキーを押すと次のセル、次のセルと編集モードのフォーカスが移って行きます。
これをとめる方法はありませんか。
479 Name: 名称未設定 [sage] Date: 2005/05/06(金) 20:41:18 ID: UKY8l2E4 Be:
NSTableViewはNSControlのサブクラスなので、delegateに
- (BOOL)control:(NSControl *)control textView:(NSTextView *)textView doCommandBySelector:(SEL)command
{
if (selector == @selector(insertNewline:)) {
// Enterでやって欲しいことがあればここに書く
return YES;
} else {
return NO;
}
}
を実装でいけそうな気がする。試したことないけど。

480 Name: 名称未設定 [sage] Date: 2005/05/06(金) 20:42:23 ID: UKY8l2E4 Be:
間違った
× if (selector == @selector(insertNewline:)) {
○ if (command == @selector(insertNewline:)) {
481 Name: 名称未設定 [sage] Date: 2005/05/06(金) 21:20:48 ID: bXjsuOtv Be:
テキスト編集はフィールドエディターの扱いもあるから自分で扱うのは難しい。
同じ疑問にぶつかったときに検索して見つけた方法。
tableviewのサブクラスのほうでtextDidEndEditingをオーバーライドして通知を書き換える:
- (void)textDidEndEditing:(NSNotification *)notification;
{
  if ([[[notification userInfo] objectForKey:@"NSTextMovement"] intValue] == NSReturnTextMovement)
  {
    NSMutableDictionary *newUserInfo;
    NSNotification *newNotification;

    newUserInfo = [NSMutableDictionary dictionaryWithDictionary:[notification userInfo]];
    [newUserInfo setObject:[NSNumber numberWithInt:NSIllegalTextMovement] forKey:@"NSTextMovement"];
    newNotification = [NSNotification notificationWithName:[notification name] object:[notification object] userInfo:newUserInfo];
    [super textDidEndEditing:newNotification];

    [[self window] makeFirstResponder:self];
  }
  else
  {
    [super textDidEndEditing:notification];
  }
}
482 Name: 名称未設定 [sage] Date: 2005/05/06(金) 21:22:56 ID: bXjsuOtv Be:
あ、コードの一行目に入ってるセミコロンは消して
483 Name: 名称未設定 [sage] Date: 2005/05/06(金) 21:42:52 ID: 7s6lf+s8 Be:
私も方法を披露させてもらっていいかな。

-(BOOL)tableView:(NSTableView *)tableView shouldEditTableColumn:(NSTableColumn *)tableColumn row:(int)row{
NSEvent *event=[NSApp currentEvent];

if ([event type] == NSKeyDown) {
switch ([event keyCode]) {
case 36 :
case 48 :
case 52 :
return NO;
default :
return YES;
}
} else {
return YES;
}
}

こいつを NSTableView の delegate に実装する。
return,tab,enter が押されても次のフィールドには移行しない。
484 Name: 名称未設定 [sage] Date: 2005/05/06(金) 22:25:14 ID: +jFXCesU Be:
みなさまレスありがとうございます。
インターフェイスビルだーでちょこちょこといじればできるのかなと思っていたのですが
かなりいろいろといじらなくてはいけないようで驚きです。
ひとつづつ勉強しながら使わせていただきます。

当方のイメージとしてはiTunesのような挙動をしてくれたらいいな、と思っていたのですが
iTunesはCocoaではないんですよね。

ありがとうございました。
485 Name: 名称未設定 [sage] Date: 2005/05/06(金) 23:05:34 ID: 42snX3QC Be:
なにげにCocoaな純正アプリが思いつかない漏れがいる
486 Name: 484 [sage] Date: 2005/05/06(金) 23:25:14 ID: +jFXCesU Be:
481氏の方法が正論だなと思いつつもこんな方法で自分用には十分なのかも。

@implementation CustomTableView
- (void)textDidEndEditing:(NSNotification *)aNotification
{
[super textDidEndEditing:aNotification];
[self deselectAll:nil];
}

@end
487 Name: 名称未設定 [sage] Date: 2005/05/07(土) 20:59:35 ID: o2BTDrig Be:
Cocoaでスクリプタぶるなアプリ作るときに、
どうしてもファイルパスの取り扱いが分からないんだ。

アップルスクリプトから渡されたFile Specificationは、こんな形式になるよね
Macintosh HD:Users:hoge:Desktop Folder:ほげほげ.txt
:Desktop Folder:ほげほげ.txt

これを、NSStringで扱えるようなファイルパスへ変換するうまい方法ってある
のかな?つまり、POSIX Pathにしたいんだけど。
/User/hoge/Desktop\ Folder:ほげほげ.txt
~/Desktop\ Folder/ほげほげ.txt

日本語や、空白や、32バイト以上のパスコンポーネントをうまく扱えるような
すばらしい技を知ってたら教えてほしいな。
488 Name: 名称未設定 [sage] Date: 2005/05/07(土) 21:07:19 ID: ujgIqc+/ Be:
OK, 誰かCore Dataのオブジェクトモデルの具体的な使い方についてわかりやすく解説してくれ。
プロパティの設定の仕方くらいはわかったが、サンプルを見ても何がどう作用してるのか全然わからない。
489 Name: 名称未設定 [sage] Date: 2005/05/07(土) 21:11:39 ID: ujgIqc+/ Be:
>>487
return POSIX path of ファイル as Unicode text
でいけないか?
490 Name: 名称未設定 [sage] Date: 2005/05/08(日) 17:15:55 ID: T4joxnVC Be:
アイコンについてお聞きします。
システムアイコン(フォルダや白紙の書類など)はどこに保存されているのでしょうか。
また、将来自作のアプリを公開するときにこのようなアイコンを使っても良いものなのでしょうか。
491 Name: 名称未設定 [sage] Date: 2005/05/08(日) 18:33:41 ID: N8VfqNb6 Be:
>>490
白紙の書類は AppKit.framework/Resources/NSMysteryDocument.tiff かな?
Finder.app の Resources 下の icns か Finder.rsrc かも。

でもAppleの著作物ゆえ流用してはイカンのだろうなと思う。
以前はADCにAquaIconKitというテンプレートがあったんだけどね。
492 Name: 名称未設定 [sage] Date: 2005/05/08(日) 20:44:54 ID: T4joxnVC Be:
sudo find / -name "*folder*" -print

こんなことしてみても見つからない。もしかしてリソースフォークに入ってる?
でも128*128のフルサイズのアイコンもあるしなあ。

>>491
バンドルして公開するのはまずいと思うのですが、パスを指定して読み込むのもまずいんでしょうか。
493 Name: 名称未設定 [sage] Date: 2005/05/08(日) 21:01:19 ID: GVwLlYZZ Be:
NSWorkspace-iconFor...:は何のためにあるのか考えてみよう。
NSWorkspaceはIcon Servicesのラッパーだから機能が不足なら
直接Icon Servicesを使う。標準的なアイコンは概ね用意されている。
494 Name: 名称未設定 [sage] Date: 2005/05/08(日) 21:26:08 ID: PHeyU/T8 Be:
http://developer.apple.com/documentation/UserExperience/Conceptual/OSXHIGuidelines/XHIGIcons/chapter_14_section_5.html

8番目の項目に使うなと書いてあるね
著作権については何も触れていないけど
495 Name: 名称未設定 [sage] Date: 2005/05/08(日) 21:44:29 ID: XMPDDloi Be:
それは「ユーザーを混乱させるからそのまま流用するのはよせよ」という意味だろ。
書類のアイコンを作ったりするときに空の文書のアイコンをベースにしても問題はないし。
※この問題ないってのは法的な意味じゃなくソフト作家が使うくらいなら通常容認されてるという意味
496 Name: 名称未設定 [sage] Date: 2005/05/08(日) 23:10:19 ID: PHeyU/T8 Be:
>>495
>それは「ユーザーを混乱させるからそのまま流用するのはよせよ」という意味だろ。
そうだよ
>>492は書類アイコンを作りたいわけじゃないみたいだからね
497 Name: 名称未設定 [sage] Date: 2005/05/09(月) 18:08:31 ID: 5rzGHzfa Be:
http://developer.apple.com/documentation/Cocoa/Conceptual/Workspace/Tasks/InformationAboutFiles.html#//apple_ref/doc/uid/20001004-39665

NSWorkSpaceのサンプルコードをみるとなつかしのファイルタイプ使って管理してる。
そういやFinderってCarbonなんだよな。
498 Name: 名称未設定 [sage] Date: 2005/05/09(月) 20:19:31 ID: qrBz7TH5 Be:
Spotlight importerで検索結果画面の特別な分類を作るにはどうしたらいいんだろ。
(書類、メールメッセージ、イベントとTo DO、みたいな分類)
499 Name: 名称未設定 [sage] Date: 2005/05/09(月) 20:24:47 ID: /8izHliD Be:
>>498
Schema.xmlに新しい分類を追加して、GetMetadataForFile()で
attributesに突っ込んでやる
500 Name: 名称未設定 [sage] Date: 2005/05/09(月) 20:26:00 ID: /8izHliD Be:
あ、ごめん、書類の種類の事か
それだったら俺も知りたい
誰か教えて
501 Name: 名称未設定 [sage] Date: 2005/05/10(火) 20:44:37 ID: i28sCzEf Be:
NSTableViewでセルを選択しているときにコマンド+Cを押すと、BEEP音がなってしまいます。
コマンド+Cを押したときに選択しているセルをコピーするようにするには、どうするといいのでしょう?
TableViewのサブクラスを作ってperformKeyEquivalentをオーバーライドするような感じでいいんでしょうか?

初歩的なことですみませんが、朝からハマってて困ってます。。。
502 Name: 名称未設定 [sage] Date: 2005/05/11(水) 00:40:36 ID: aZbLdKpv Be:
- (void)copy:(id)sender
をテーブルのデリゲートでオーバーライド。
503 Name: 501 [sage] Date: 2005/05/11(水) 21:10:41 ID: 5C/b9u54 Be:
>>502
未熟者でした・・・。試してみる&ドキュメント探してみます。

お陰で正しい道を歩めそうです、ありが㌧でした。
504 Name: 名称未設定 [sage] Date: 2005/05/12(木) 00:04:48 ID: Zm5F5IlU Be:
CFStringRefとNSStringの変換について質問。

cfRefPath = (CFStringRef) [ MoviePath stringByExpandingTildeInPath ];

ネットで、CFStringRefとNSStringがキャストで相互変換出来るって見つけた
んでこう書いたんだ。この後これをQTの関数で処理させるんだけど、これ自体
は間違っていないよね?

で、CFStringRefに型変換したけど、stringByExpandingで生成された領域
自体ってAutoReleaseされるんだよね?(MoviePath自体はAutoRelease)

そう思ってたから、CFRelease(cfRefPath);って書いてないんだ。
もしかして、CFStringRef型に放り込んだ時点でretainされたことになってて
手でreleaseしないと残りっぱなしになるとか、そういうことなんだろうか。
実際、この(CFStringRef)cfRefPathは、ルーチン抜けたら破棄されてよいの
だけど、 

確実に手で破棄すべきなのかな?どうすればいい?
505 Name: 名称未設定 [sage] Date: 2005/05/12(木) 00:10:29 ID: zAwt8Uqa Be:
相互変換できるなら自分で retainCount を数えてみればいい。
506 Name: 名称未設定 [sage] Date: 2005/05/12(木) 01:05:35 ID: nEgSiXbE Be:
まったく検証してないけど、autoreleaseされると思う。
キャストしただけでCFRetainされたりしたら気持ち悪すぎ。
507 Name: 504 [sage] Date: 2005/05/12(木) 07:12:04 ID: vsZ1lpmm Be:
>>505,506
retainカウントはみてないけど、
 DFRelease(cfRefPath);
とか
 [(NSString*)cfRefPath release];
とかやると、ルーチン抜けたところで
NSApplicationのAutoreleaseでクラッシュする。
AutoReleaseなやつを手でreleaseしたらクラッシュ?
まあいいや

やっぱり手でリリースする必要は無さげ。よかったー
これ自体はリークの原因じゃないのね。

やっぱりQTのSGStopがリークしてる気がしてきた...
一応BugReport中なんだけど、ずっと放置される予感...
(10.3.9/QT652)
508 Name: 名称未設定 [sage] Date: 2005/05/12(木) 07:37:18 ID: xmCvXO/N Be:
>>507
>AutoReleaseなやつを手でreleaseしたらクラッシュ?
そりゃクラッシュするよ
手でreleaseした時点で解放されたオブジェクトをAutoreleasePoolがさらに解放しようとするんだから
509 Name: 名称未設定 [sage] Date: 2005/05/12(木) 09:40:40 ID: Gq5N/zaB Be:
AppleがObjective-CにGCを導入しようとしてるらしい。

http://lists.apple.com/archives/objc-language/2005/May/msg00021.html
510 Name: 名称未設定 [sage] Date: 2005/05/12(木) 13:13:41 ID: x3Npj/aA Be:
開発のスピード化的には正しい方向ですな
511 Name: 名称未設定 [sage] Date: 2005/05/12(木) 15:47:53 ID: t2ipu7s3 Be:
そのうちObjective-Dにでもなるかな。
512 Name: 名称未設定 [sage] Date: 2005/05/12(木) 19:21:50 ID: kAOPrPMn Be:
ある文字列のなかに特定の文字が何回あらわれるかを調べるにはどうしたらいいですか。
NSScannerの使い方がよく分からないです…orz
513 Name: 名称未設定 [sage] Date: 2005/05/12(木) 20:05:43 ID: bv7JRmVl Be:
ごく単純な方法。
NSArray *array=[@"ある文字列" componentsSeparatedByString:@"特定の文字"];
NSLog(@"%d回",[array count] - 1);
514 Name: 名称未設定 [sage] Date: 2005/05/12(木) 20:09:40 ID: SF+28twb Be:
NSScannerの使い方はCocoaはやっぱりに昔出てた
今もあるかどうかはわからん
探してみ
515 Name: 512 [sage] Date: 2005/05/12(木) 21:04:44 ID: kAOPrPMn Be:
ありがとうございます。解決しました。
516 Name: 名称未設定 [sage] Date: 2005/05/13(金) 00:44:27 ID: JGLy4geK Be:
別にD言語はわざわざObjectiveにする必要ないだろ。
517 Name: 名称未設定 [] Date: 2005/05/13(金) 03:38:17 ID: DgmD7r7D Be:
良スレ
518 Name: 名称未設定 [sage] Date: 2005/05/13(金) 10:29:23 ID: 2N+ooNYP Be:
NSString* contents=[NSString stringWithContentsOfFile:filename];
こんなかんじでファイルを読み込むと、
ファイルサイズが100kbを超えた辺りからcontentsがnilになって読み込みに失敗してる。

メモリを確保できなかったってことなんだろうけど、回避するにはどうしたらいいかな。

//Cocoaのスタックって512kbくらいなかったっけ。
519 Name: 名称未設定 [sage] Date: 2005/05/13(金) 11:04:55 ID: gX7RwSl4 Be:
ファイルの容量じゃなくてエンコードの問題じゃないか?
stringWithContentsOfFile:はデフォルトのエンコーディングでエンコードするけど
うまくエンコできなかったときはnilが返ってくるから
NSData dataWithContentsOfFile:で読み込んで
initWithData:encoding:で適当なエンコーディングを指定してNSStringにしてみたら?

//オブジェクトはスタックじゃなくてヒープに確保されてるんじゃないかと思う
520 Name: 名称未設定 [sage] Date: 2005/05/13(金) 17:07:07 ID: 2N+ooNYP Be:
遅くなったがサンクス。

これで読み込み成功。
NSData* theData=[NSData dataWithContentsOfFile:filename];
NSString* contents=[[[NSString alloc] initWithData:theData encoding:8] autorelease];

ファイルサイズに関係なく、エンコード判別に失敗してただけのようだ。

//しかし失敗する原因はなんだろう。自動判別に失敗はつきものなんだろうか。
521 Name: 名称未設定 [sage] Date: 2005/05/13(金) 20:28:39 ID: MIPYGU/n Be:
>>520
stringWithContentsOfFile:は完全な自動判別じゃなくて
Unicode-> UTF-8-> default C string encoding
の順番でチェックしてるだけだそうだ

ちなみにTigerからは
stringWithContentsOfFile:encoding:error:
とかいうのが増えてるね
522 Name: 名称未設定 [sage] Date: 2005/05/13(金) 22:10:36 ID: HKHhSaS1 Be:
というか stringWithContentsOfFile: は deprecated になりましたな。
523 Name: 名称未設定 [sage] Date: 2005/05/13(金) 22:20:48 ID: DWCzW2AC Be:
お、ほんとだ、見落としてた
当面はNSData経由がベターかな
524 Name: 名称未設定 [sage] Date: 2005/05/14(土) 15:19:20 ID: 5pUf/hGo Be:
directoryContentsAtPath:で取得したファイル一覧fileListから.DS_Storeを
消したいんですが、if文で判別させようとしてもうまくいきません。

if ([fileList objectAtIndex:0] == @".DS_Store"){
//処理
}

↑では処理が行われないようなのですが、@".DS_Store"の部分は
どのように指定すれば良いのでしょう?


また、fileListが空の配列だった場合に、

if (fileList == [NSArray array]){
//処理
}

↑のような書き方をしても処理が行われないようなのですが、
これも何か別の書き方があるのでしょうか?
525 Name: 名称未設定 [sage] Date: 2005/05/14(土) 15:57:55 ID: VIAJJ+af Be:
>>524
isEqualToString:
isEqualToArray:
526 Name: sage [] Date: 2005/05/14(土) 15:58:41 ID: 1qYViEOJ Be:
>>524
最初のは
if ([[fileList objectAtIndex:0] isEqualToString:@".DS_Store"]) { ... }

2番目は
if ([fileList count] == 0) { ... }
527 Name: 名称未設定 [sage] Date: 2005/05/14(土) 16:50:14 ID: H1E2Qx+S Be:
.DS_Storeが一番目とは限らないだろ。
if([fileList containsObject:@".DS_Store"]) とやるべき。
528 Name: 名称未設定 [sage] Date: 2005/05/14(土) 21:06:34 ID: /0zVarlc Be:
>>524
if ([fileList objectAtIndex:0] == @".DS_Store")
と書くと「オブジェクトの値」の比較ではなく
「ポインタの値」を比較しているということね
オブジェクトの値を比較したいときは>>525のようなメソッドを使う
529 Name: 名称未設定 [sage] Date: 2005/05/15(日) 02:57:53 ID: pEx54/+u Be:
プロジェクトのResource内にある「hoge.txt」の内容をNSStringにするにはどうすればいいのですか
530 Name: 名称未設定 [sage] Date: 2005/05/15(日) 04:10:10 ID: C2iSLDNf Be:
NSString *string=[NSString stringWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"hoge" ofType:@"txt"]];
こんぐらい自分で調べようぜ。
531 Name: 名称未設定 [sage] Date: 2005/05/15(日) 04:52:59 ID: pEx54/+u Be:
>>530
ありがとう。
なんかいろいろやってたら分け分かんなくなって(言い訳
532 Name: 名称未設定 [sage] Date: 2005/05/15(日) 06:29:02 ID: juztDK8h Be:
>>525-528
レスありがとうございます。
ちゃんとそれ専用にメソッドがあるんですね。
やっぱりAppleScriptの感覚でいるとダメですね。
>>526の2番目はちょっと目から鱗です。なるほど。
533 Name: 名称未設定 [sage] Date: 2005/05/15(日) 09:09:55 ID: 4O3xQrKS Be:
最近活性化してる。Tiger効果か?
534 Name: 名称未設定 [sage] Date: 2005/05/16(月) 14:07:56 ID: YBz3/OPJ Be:
NSLog()関数に渡す引数には
ascii文字が最低1文字含まれていないといけないようなきがする。
535 Name: 名称未設定 [sage] Date: 2005/05/17(火) 12:27:33 ID: rPsAZdHa Be:
NSMutableStringって結合できないのか。
('A`)マンドクセ
536 Name: 名称未設定 [sage] Date: 2005/05/17(火) 12:27:56 ID: rPsAZdHa Be:
>>535
NSMutableAttributedStringのまちがい
537 Name: 名称未設定 [sage] Date: 2005/05/17(火) 12:38:14 ID: axJST9jK Be:
replaceCharactersInRange:withAttributedString:か
insertAttributedString:atIndex:を使えば良いんじゃないの?
538 Name: 名称未設定 [sage] Date: 2005/05/17(火) 13:38:49 ID: e0PjH5HO Be:
結合の意味がわかんないけど
appendAttributedString: といっておく。
539 Name: 名称未設定 [NSAttributedStringしか探してなかった sage] Date: 2005/05/17(火) 16:38:57 ID: rPsAZdHa Be:
うわーーーーーーーーーー

見落としでした。
はずかしいいいいいいいい
540 Name: 名称未設定 [sage] Date: 2005/05/17(火) 20:58:21 ID: l7tLORJW Be:
>>537
結合で insert を出してくるなんて、エロすぎます。
541 Name: 名称未設定 [sage] Date: 2005/05/22(日) 18:36:15 ID: j48V2VhB Be:
for(i=0;i<100000;i++){
  [myTextField setIntValue:i];
}

特に意味はないんだけど、これを実行するとしばらくハングした後に99999が表示される。
0,1,2…と順に表示させるにはどうするんだろ。
542 Name: 名称未設定 [sage] Date: 2005/05/22(日) 18:53:03 ID: 7zRntq9O Be:
NSTimerですかね
543 Name: 名称未設定 [sage] Date: 2005/05/22(日) 18:53:42 ID: WSQfHJEK Be:
NSAnimation
544 Name: 名称未設定 [sage] Date: 2005/05/22(日) 19:28:52 ID: Pzt6Y2uD Be:
[myTextField display];
ではだめだろうか?
545 Name: 名称未設定 [sage] Date: 2005/05/22(日) 19:42:26 ID: j48V2VhB Be:
>>544
ビンゴ!
それですな。

しかし、display呼ばなかったらイベントループが終わるまで変更が反映されないのか。覚えとこ〆(゚▽゚*)
546 Name: 名称未設定 [sage] Date: 2005/05/22(日) 19:49:28 ID: 7zRntq9O Be:
それだと固まるのは直らないような希ガス
547 Name: 名称未設定 [sage] Date: 2005/05/22(日) 20:00:54 ID: RUm9rWYW Be:
>>545
基本的に全部そうだと思う
setImage:とか
548 Name: 名称未設定 [sage] Date: 2005/05/22(日) 20:21:06 ID: j48V2VhB Be:
>>546
別スレッドを立ててみた

- (IBAction)start:(id)sender
{
[NSThread detachNewThreadSelector:@selector(count:) toTarget:self withObject:nil];
}

-(void)count:(id)object
{
NSAutoreleasePool* arp=[[NSAutoreleasePool alloc] init];
int i;
for(i=0;i<100000;i++){
[myTextField setIntValue:i];
}
[arp release];
}

これでもカウンタは回る。display呼ばなくてもいいのはなぜだろう。
549 Name: 名称未設定 [sage] Date: 2005/05/22(日) 20:24:47 ID: j48V2VhB Be:
追記

メインのイベントループが待機中だったらビューの再描画が行われるのかな?
550 Name: 名称未設定 [sage] Date: 2005/05/22(日) 20:27:32 ID: Pzt6Y2uD Be:
スレッド切り替えのタイミングで再描画してくれるんじゃないの?
551 Name: 名称未設定 [] Date: 2005/05/22(日) 20:51:19 ID: of2CaBrR Be:
Cocoaアプリでは基本的に、イベントループ1回(例えばアクションメソッドが呼ばれてreturnするまで)につき、
最後にセットされた描画内容を描画する。
552 Name: 名称未設定 [sage] Date: 2005/05/22(日) 21:16:50 ID: j48V2VhB Be:
>>548をビルドしてデバッガで追跡したけど
[myTextField setIntValue:i];
この行を処理したときにテキストフィールドも変更される。

別スレッドをたてるとそうなると思うしかないのか。
553 Name: 名称未設定 [sage] Date: 2005/05/22(日) 21:39:27 ID: +Q9FF1ip Be:
NSTextFieldってスレッドセーフだっけ?
NSTimer使うのが正解では?
554 Name: 名称未設定 [sage] Date: 2005/05/23(月) 01:08:32 ID: r0VZURj3 Be:
>>548
これはスレッドを使う場面じゃないです。すでに指摘されている通り NSTimer を使ってメインスレッド内で処理すべきです。

別スレッドからの GUI の更新は Cocoa に限らず基本的にどのライブラリでもタブーと思ってください。
555 Name: 名称未設定 [sage] Date: 2005/05/23(月) 13:47:00 ID: athMwCy3 Be:
別threadから、main threadで関数指定で実行するmethodがあるやん。
556 Name: 名称未設定 [sage] Date: 2005/05/23(月) 14:19:05 ID: NtBZPf71 Be:
[hoge display];
はスレッドセーフではない。

[hoge setNeedsDisplay:YES];
はスレッドセーフ。

[hoge setNeedsDisplay:YES]; 
は、更新フラグを立てるだけね。
メインランループの更新手続きのときにメインスレッド上で更新される。
557 Name: 名称未設定 [sage] Date: 2005/05/23(月) 20:15:07 ID: DABA00ig Be:
マウスカーソルを合わせたときに、
ラベルっぽいメッセージがポップアップするのってどうやるのでしょう?
よくブラウザでalt属性を表示させるようなアレ。
558 Name: 名称未設定 [sage] Date: 2005/05/23(月) 20:24:29 ID: 8+aRcpKK Be:
Tooltipのことか?
559 Name: 名称未設定 [sage] Date: 2005/05/23(月) 20:38:12 ID: CmeAFUL5 Be:
>>557
IBのパレットをよく見よう
560 Name: 名称未設定 [sage] Date: 2005/05/23(月) 20:41:12 ID: wjZ5cKPp Be:
関係ないけど tooltip が目的なら alt 属性じゃなく title 属性を使おう。
561 Name: 557 [sage] Date: 2005/05/23(月) 21:17:40 ID: v9mr62wa Be:
>>558-560
それでした。cocomonaのソース見て、NSPanelから手作りしなきゃならないのかなー
と不安になってたとこでした。

毎度どもです。
562 Name: 名称未設定 [sage] Date: 2005/05/24(火) 00:18:41 ID: NarDaQ+W Be:
@implementation
- (void)start{
num=0;
timer=[NSTimer scheduledTimerWithTimeInterval:0.0 target:self selector:@selector(count:) userInfo:nil repeats:1];
}
-(void)count:(id)object{
[myTextField setIntValue:num++];
}
@end

こんな感じでカウンタ回りました。
で、カウンタ止めたくなったら
[timer invalidate];すると。
563 Name: 名称未設定 [sage] Date: 2005/05/24(火) 02:10:12 ID: +SiAvWxv Be:
インターバルってゼロを指定していいんですか?
564 Name: 名称未設定 [sage] Date: 2005/05/24(火) 02:13:59 ID: cAk+DdOo Be:
人にきくまえに先ずはドキュメントをよみましょう。
565 Name: 若葉マーク [] Date: 2005/05/26(木) 08:10:15 ID: 8b78RQfH Be:
「Happy Macintosh Developing Time 」を、xcode1.5でお勉強中です。

P130の「アウトレットとアクションをつなぐ」と言うところで困ってます。
本の通りにしたはずなのに、control+D&Dが全く反応しません。
xcode1.1でも同じでした。

ゴールデンウィークから立ち止まって、抜け出せません。

IB単体で、やってみましたが駄目でした。

お願い、誰か助けて~~~~~ !!
566 Name: 名称未設定 [sage] Date: 2005/05/26(木) 13:20:18 ID: DlO0Ugb4 Be:
よくわからんけどあんな簡単な事を本よりも詳しく説明するなんて至難の業だと思うが。
何がどうダメなのか詳しく説明しろよ。
ドラッグしても線が出ないとか、対象につながらないとか、つないでも元に戻ってしまうとか。
567 Name: 名称未設定 [sage] Date: 2005/05/27(金) 00:57:49 ID: /uv+d1WC Be:
>>565
とりあえず操作が合っているか確認。
1. Control を押しながらオブジェクトをクリック
2. そのまま Control は押しつつマウスをドラッグすると線が引かれる
3. そのまま線をもう一方のオブジェクトに重ねる
4. マウスボタン離す
Interface Builder の "Instances" からじゃないと接続できないからね。"Classes" じゃだめですよ。もしくはウィンドウ上に配置したオブジェクトね。
568 Name: 若葉マーク [] Date: 2005/05/27(金) 08:51:45 ID: J3Pe2wTO Be:
説明不足で、スミマセン。
>ドラッグしても線が出ないとか、対象につながらないとか、つないでも元に戻ってしまうとか。
ドラッグしても線が出ない、かつ、対象につながらない。
のです。

>1. Control を押しながらオブジェクトをクリック
OKでした。
>2. そのまま Control は押しつつマウスをドラッグすると線が引かれる
これが、出来ない。 ?(tt)??

>3. そのまま線をもう一方のオブジェクトに重ねる
>4. マウスボタン離す
2.が出来ないから、3,4はできない。

>Interface Builder の "Instances" からじゃないと接続できないからね。"Classes" じゃだめですよ。もしくはウィンドウ上に配置したオブジェクトね。
"Instances" からなんだけどね~~~~?
不思議だ。
569 Name: 名称未設定 [sage] Date: 2005/05/27(金) 10:05:25 ID: 4dPXf/wt Be:
>>568
まさかとは思うが、controlキーってどのキーだか解ってるよな?
570 Name: 若葉マーク [] Date: 2005/05/27(金) 12:00:29 ID: J3Pe2wTO Be:
鉛筆の絵が書いてあるキー、でしょ。
キーにも、しっかり「control」って、書いてありました。

ちなみに、サブ・オブシェクトを作るときは、しっかり反応してましたよ。
571 Name: 名称未設定 [sage] Date: 2005/05/27(金) 12:10:09 ID: qR4L2393 Be:
あなたはどの程度若葉マークなのかそれが知りたい
名前欄にあえて「初心者」とか書いちゃう人は
いろんな意味で相当な初心者に思えてしまうのよ条件反射的に
それはもうドラッグとかドロップとかちゃんと意味分かってるんだろうかと気をもむぐらい

実際どうなの
パソコン歴は長くて部分的には習熟してる中~上級ユーザーなのか
まだ始めたばっかりの初級ユーザーなのか
572 Name: 名称未設定 [sage] Date: 2005/05/27(金) 12:10:15 ID: 37qAFHNZ Be:
Carbon Nibじゃないだろうな
573 Name: 若葉マーク [] Date: 2005/05/27(金) 16:06:53 ID: J3Pe2wTO Be:
言葉足らずでスミマセン。

>実際どうなの
>パソコン歴は長くて部分的には習熟してる中~上級ユーザーなのか
>まだ始めたばっかりの初級ユーザーなのか
パソコン歴は長いです。
仕事にしているぐらいです。(Linux,H8マイコン,ハード設計、など)
でも、macのプログラムに関しては、さっぱりです。

>Carbon Nibじゃないだろうな
英文マニュアルにも、「cocoaのみ」と書いてあったので、その辺も確認しました。
cocoaのアプリで動作確認してますけど。
574 Name: 名称未設定 [sage] Date: 2005/05/27(金) 18:02:41 ID: OGUHvukN Be:
>>573

そこまで壊滅的だと、もっと基本的なところから確認した方がいいと思うよ。
たとえば、Control キーが(ハード的に)使えない状況になってないかとか。

Finder から「ファイル」メニューを開いたままControl キーを押したり離したり
して下さい。
「情報を見る」が「概要情報を見る」と切り替われば Control キーが有効。
変化が無ければキーボードが壊れてるって事で。

あとさ、あちこちの掲示板で同じ質問するのが悪いとは言わないけど、いい気はしない。
2ch なら「助けて~」って書き方でもいいけど、ハードなアプリ屋が集う板で
同じ表現だと荒らし寸前になっちゃうよ。
575 Name: 名称未設定 [sage] Date: 2005/05/27(金) 18:41:04 ID: yBBnHT7U Be:
まずはDevToolsを再インストールじゃないか?
576 Name: 若葉マーク [] Date: 2005/05/27(金) 19:50:19 ID: J3Pe2wTO Be:
>あとさ、あちこちの掲示板で同じ質問するのが悪いとは言わないけど、いい気はしない。
>2ch なら「助けて~」って書き方でもいいけど、ハードなアプリ屋が集う板で
>同じ表現だと荒らし寸前になっちゃうよ。

↑本当に、スミマセン。
ごめんなさい。

でも、本当に困っているのも事実です。

xcode1.1を再インストールし、これが駄目だったのでxcode1.5を購入しました。
で、結局同じ。

もう、どうしたら良いものやら。
577 Name: 若葉マーク [] Date: 2005/05/27(金) 20:43:39 ID: J3Pe2wTO Be:
土日に掛けて、ハードディスクの掃除をしてみます。
(駄目もとで)

それで、再インストールしてみます。
(余り期待出ませんが)

ネチケット違反の件は、重ねてお詫び申し上げます。

はぁ~。
落ち込むなぁ。
578 Name: 名称未設定 [sage] Date: 2005/05/27(金) 23:41:59 ID: MnR9UxXY Be:
>>568
>> そのまま Control は押しつつマウスをドラッグすると線が引かれる
>これが、出来ない。 ?(tt)??

マウスやコンテキストメニュー関連で、妙なユーティリティを
インストールしてやしませんか?
579 Name: 名称未設定 [sage] Date: 2005/05/27(金) 23:59:58 ID: L3bjC4cY Be:
>>568
Interface Builder の環境設定で、Editingの「Lock all connections」の
チェックは切れてるか?
580 Name: 566 [sage] Date: 2005/05/28(土) 01:48:57 ID: 9KnibfJ3 Be:
>>577
とりあえず、再セットアップなら次の順序を試してみるのが良いかも。

0. Control を認識しているかチェック

たとえば Interface Builder の Palettes Window (Command-/) のツールバーでコンテキストメニューが出せるか。(2ボタンマウスがあれば)右クリックで出ることを確認して、同じように Control + クリックしてみる。

1. ~/Library/Preferences にある com.apple.InterfaceBuilder.plist 削除

これでもう一度試してみる。

2. 捨てアカウント作って試す

ユーザーの設定ファイル類がクリーンな状況になるんで。そのとき言語も English にしておくと良いかもしれん。

3. Interface Builder の再インストール

Interface Builder だけ再インストールって出来るのか分からんけど、確実にいくなら Developer Tools 全体のアンインストールと再インストールか。

4. OS の再インストール?

Interface Builder だけに問題が発生する状況というのがよく分からんので最終手段といっても効果の程はどうだろう。
581 Name: 名称未設定 [sage] Date: 2005/05/29(日) 15:15:31 ID: PEbgzBdf Be:
NSTextViewのBackgroundColorを透明にするにはどうしたらいいですか?
IBでOpacityを0にするとIB上では透明になるんですが
ビルドすると真っ黒になってしまいます。
582 Name: 確証なし [sage] Date: 2005/05/29(日) 16:02:48 ID: cILgul7g Be:
isOpaqueで何かえしてる?
サブクラス化してYES返すようにしたらだめだろうか?
583 Name: 582 [sage] Date: 2005/05/29(日) 16:13:27 ID: cILgul7g Be:
NOかもしれん・・・
Opqqueって不透明、だな
584 Name: 名称未設定 [sage] Date: 2005/05/29(日) 16:38:37 ID: PEbgzBdf Be:
NSTextViewのサブクラスでこうやってもだめでした。

#import "MyTextView.h"

@implementation MyTextView
-(id)init{
[super init];
[self setDrawsBackground:NO];
return self;
}

-(BOOL)isOpaque{
return NO;
}
@end

585 Name: 名称未設定 [sage] Date: 2005/05/29(日) 17:18:24 ID: gfhq9Kp4 Be:
>>584
initWithFrame:textContainer: を同様に override してみたらどうでしょう
586 Name: 名称未設定 [sage] Date: 2005/05/29(日) 18:08:29 ID: X3+diVTw Be:
普通のウィンドウだからじゃないか?
ウィンドウも透明にしてやらないとダメだろ
587 Name: 名称未設定 [sage] Date: 2005/05/29(日) 20:39:53 ID: PEbgzBdf Be:
>>586
NSTextFieldのようにウインドウに直接テキストを張り付けたいんですよ。
IB上のNSTextFieldには「Draw」のチェックボックスがあるんですけど
NSTextViewにはないし。

ドキュメントを読む限りではsetDrawsBackground:で変更できるはずなんですけど。
588 Name: 585 [sage] Date: 2005/05/29(日) 21:59:00 ID: gfhq9Kp4 Be:
>>584
initWithFrame:textContainer: じゃなくて initWithFrame: を override するべきか。

initWithFrame:textContainer: は initWithFrame: をよんでいるが、
initFrame: は init をよばないので、init だけを override してもダメみたい。

- (id) initWithFrame:(NSRect)frameRect
{
if ((self = [super initWithFrame: frameRect])) {
[ self setDrawsBackground: NO ];
}
return self;
}

isOpaque の override は要らないはず。NSView の default が NO だし。
589 Name: 名称未設定 [sage] Date: 2005/05/29(日) 22:58:38 ID: X3+diVTw Be:
>>588
IBで作ってるみたいだからinitをオーバーライドしてもダメでは?
590 Name: 566 [sage] Date: 2005/05/30(月) 01:28:06 ID: rh2q+A0O Be:
>>589

IB で Dran & Drop したコントロールにカスタムクラスを指定した場合は、
initWithCoder:
が呼ばれます。
http://www.omnigroup.com/mailman/archive/macosx-dev/2001-April/012348.html
591 Name: 590 [sage] Date: 2005/05/30(月) 01:34:55 ID: rh2q+A0O Be:
メールの文中をおおまかにダイジェストすると、
IB のコントローラは nib を保存するときには IB 上の情報を使って archive されて保存される (encodeWithCoder:)。で、プログラムが実行されるときには unarchive されるので initWithCoder: が使われる。
たぶん IB で Window とかに Drop したときに initWithFrame: が使われているんだろう。

# NSTextField で実際に試したわけじゃないですが、NSOpenGLView にカスタムクラスを指定したときは確かに initWithCoder: が呼ばれました。
592 Name: 590 [sage] Date: 2005/05/30(月) 01:58:14 ID: rh2q+A0O Be:
何度もすまんです。

こんな話もあるんで、
http://www.tech-arts.co.jp/macosx/macosx-dev-jp/htdocs/4200/4282.html
気をつけてください。

nib でインスタンス化されたコントロールは
1. 基本的に initWithCoder: が使われる
2. ただし NSCustomView の場合は initWithFrame: が使われる

file:///Developer/ADC%20Reference%20Library/documentation/Cocoa/Conceptual/LoadingResources/Concepts/NibFileLoaded.html

に詳しい。カスタムクラスを指定した場合は、nib からの unarchive の際に、元のクラスを decode してカスタムクラスと交換する処理が入るらしい。だから initWithCoder: / initWithFrame: の中で

if (self = [super initWithCoder:]) // or [super initWithFrame:]
{
// initialization
}

という書き方が必要になると思われ。
593 Name: 名称未設定 [sage] Date: 2005/05/30(月) 04:56:47 ID: BaUXDQzj Be:
Panther以降用のアプリでCoreImage使おうと思って、NSViewのサブクラスで
#import <QuartzCore/QuartzCore.h>
して、CIExposureSampleをまんまパクってやってみたんだけど、
これPantherだと当然落ちるか起動できないかですよね?
Tigerの場合はCoreImage使って、Panther以下の場合はそのままってどうやれば良いんでしょうか
594 Name: 若葉マーク [] Date: 2005/05/30(月) 08:12:23 ID: fhXAQITi Be:
書き込みが遅れてスミマセン。

結果報告

>Interface Builder の環境設定で、Editingの「Lock all connections」の
>チェックは切れてるか?
(@o@)
これですっ!  これ、これっ!!

動きました。
やったーっ!!  ありがとうございます。 感謝してます !



595 Name: 名称未設定 [sage] Date: 2005/05/30(月) 08:27:29 ID: RzKChx6+ Be:
態度悪いなぁもぅ・・・
596 Name: 名称未設定 [sage] Date: 2005/05/30(月) 12:57:42 ID: 7/APgPeK Be:
NSTextViewのサブクラスをIBで?
と一瞬疑問だったんだが、TigerからはIBでNSTextViewのカスタムクラスを指定できるようになったんだね。
楽になったというか、やっと普通になったというか。
これで作ったnibファイルはPantherで使えるのかな?
597 Name: 名称未設定 [sage] Date: 2005/05/30(月) 13:02:56 ID: p8TxF1xA Be:
>596
元から出来たよ。
598 Name: 名称未設定 [sage] Date: 2005/05/30(月) 18:03:23 ID: LTkdk3cw Be:
すみません、最近Cocoaを始めたものなんですが
クラスが多すぎて調べたいactionクラスがどこに接続されてるのかわからない場合
簡単に調べられる方法はないでしょうか・・・?
どうか知恵をお貸しいただきたい m(__)m
599 Name: 名称未設定 [sage] Date: 2005/05/30(月) 18:17:25 ID: qucfakbJ Be:
inspectorのconnectionで該当するactionを選択すれば線が出てくるので
確認できる。
600 Name: 名称未設定 [sage] Date: 2005/05/30(月) 19:19:56 ID: KV5CkZLk Be:
NSTableViewにフォーカスがあるかどうかって、バインディングで取れますか?

具体的には、フォーカスある時だけメニューをクリックできるようにしたいのでつ
601 Name: 名称未設定 [sage] Date: 2005/05/30(月) 22:12:43 ID: 8t2b7XCh Be:
>>600
http://developer.apple.com/documentation/Cocoa/Reference/CocoaBindingsRef/index.html
には見た感じなさそうだね。

無いということは、たんに機能としてまだ実装されていない場合かもしれんけど、フォーカスの有無によってインターフェースに変化があることを Apple の Human Interface が推奨しないかのかもしれない。

項目が選択されているかどうか (selectionIndexes) じゃだめなの?
602 Name: 名称未設定 [sage] Date: 2005/05/30(月) 23:16:38 ID: a3we2AYb Be:
メニューをクリックってのがどういう意味かわからんけど、
メニューバーのメニューをどうこうするなら validateMenuItem: でやるのが筋じゃない?
603 Name: 名称未設定 [sage] Date: 2005/05/30(月) 23:23:34 ID: U5fWsCV0 Be:
>>594

解決してよかったね。
自己満足してないで、あちこちの掲示板に書き散らした
「助けて~」にフォロー入れてきなよ。

マックのプログラマが少ないとかボヤくより先にやる事あるでしょ。
604 Name: 名称未設定 [sage] Date: 2005/05/31(火) 03:56:09 ID: QuVSK0s0 Be:
あちこちの掲示板のことなんかどうでもいいよ
話題に出されても何ら面白みがない
605 Name: 名称未設定 [sage] Date: 2005/05/31(火) 11:13:47 ID: O/Htw6hf Be:
マルチだってわかってんなら最初に指摘しとけ
606 Name: 名称未設定 [] Date: 2005/05/31(火) 21:05:12 ID: 7sHY0re7 Be:
NSXMLParser を使っています。
これで丸数字などのいわゆる機種依存文字の入った XML ファイルを読み込むと
アプリがクラッシュしてしまいます。
encoding="shift-jis" や encoding="euc-jp" で必ずクラッシュします。
これを回避する方法はないでしょうか。
607 Name: 名称未設定 [sage] Date: 2005/05/31(火) 21:49:21 ID: DE4OfkaE Be:
パネルウインドウで、前はIBからタイトルバーをボタンオンオフで切り替えできたけど、
Tigerは出来なくなった?
608 Name: 名称未設定 [sage] Date: 2005/05/31(火) 21:49:56 ID: DE4OfkaE Be:
>>607
訂正
タイトルバーの位置をボタンオンオフで上と横切り替えできたけど
609 Name: 名称未設定 [sage] Date: 2005/06/01(水) 15:23:01 ID: 6ssMCk79 Be:
http://ridiculousfish.com/blog/
ここ既出ですか?
I’m a developer on Apple’s AppKit team; I work to make Cocoa better.
With a few exceptions, we are responsible for both AppKit and Foundation. This is my blog.
610 Name: 名称未設定 [sage] Date: 2005/06/02(木) 01:09:28 ID: jJXefM8H Be:
NSProgressIndicatorを使ってファイルコピーの進捗を表示してるんだけど、
一瞬で終わった場合、バーが満タンになる前に終了してしまいます。

どうやったら、必ずバーを満タンまで描画させられるんでしょうか。
611 Name: 名称未設定 [sage] Date: 2005/06/02(木) 02:25:55 ID: m6UqndAw Be:
コードがまったくわからないから setDoubleValue: とだけ言ってみる
612 Name: 名称未設定 [sage] Date: 2005/06/02(木) 09:08:37 ID: RJT+Nn8X Be:
満タンにしてから閉じればいいだろ。一瞬で終わらなくても満タンになって
から終わるんだから、満タン表示が2回になってもコストは小さい。
613 Name: 600 [sage] Date: 2005/06/02(木) 16:39:31 ID: jJ2uH3Jh Be:
>>601,602
どもです。validateMenuItem: で実装できました。

NSMenuItemのBindingにenableってのを見つけて、これに直につないだら楽できるのになー
と思ってたのですが、そっちの方が面倒そうですね。
614 Name: 名称未設定 [sage] Date: 2005/06/02(木) 21:27:29 ID: fcMI/f1n Be:
>>601
>フォーカスの有無によってインターフェースに変化があることを Apple の Human Interface が推奨しないかのかもしれない。
特定のビューにフォーカスがなきゃ機能し得ない操作なんていくらでも想像つくだろ?
アホチンがHuman Interface語るな。
615 Name: 名称未設定 [sage] Date: 2005/06/02(木) 21:59:50 ID: QH98HzNs Be:
煽るならもうちょっと早くな。
616 Name: 名称未設定 [sage] Date: 2005/06/03(金) 00:11:00 ID: h6FkukEA Be:
>>587
もう解決したかな?
NSTextViewのカスタムビューを作って、背景をウインドウの背景と同じにしたら?
617 Name: 名称未設定 [sage] Date: 2005/06/03(金) 01:26:25 ID: 3rZqXquV Be:
NSOpenPanelをrunModalで出してても、アプリメニューの
「アプリを隠す」ってのだけは有効なままだけど、
自分で作ったNSWindowをrunModalForWindowすると、
アプリメニューが全部Disableになるんだが、
有効にする方法ってあります?
618 Name: 名称未設定 [sage] Date: 2005/06/03(金) 05:24:39 ID: b+qxq1Si Be:
>>616
587ですが、素のNSTextViewに
setBackgroundColor:[NSColor windowBackgroundColor]を投げてやればOKでした。
clearColorじゃダメなんだということが分からずお騒がせしてしまいました。
619 Name: 名称未設定 [] Date: 2005/06/03(金) 10:41:05 ID: MZsfCU6C Be:
ビルドすると

main.m:13: warning: passing argument 2 of 'NSApplicationMain' from incompatible pointer type

って警告が必ず出るんですけど、無視していいんでしょうか?
620 Name: 名称未設定 [sage] Date: 2005/06/03(金) 11:45:25 ID: GPMycnL1 Be:
その行の内容に因る。
621 Name: 名称未設定 [] Date: 2005/06/03(金) 11:58:15 ID: z3yJ4Y6L Be:
#import <Cocoa/Cocoa.h>

int main(int argc, char *argv[])
{
return NSApplicationMain(argc, argv);
}

普通のmain.mです。
どっかでおかしなことやってるってことなんですかね?
622 Name: 名称未設定 [sage] Date: 2005/06/03(金) 12:08:16 ID: CneB4aAe Be:
>>621
Xcode1.2ぐらいの問題じゃなかったっけ?
無視してもいいし、気になるなら
  (const char**)argv
とかしとけばいい。
DeveloperTools最新にすれば出なくなったはず。
623 Name: 619 [] Date: 2005/06/03(金) 12:48:48 ID: mdifTZXg Be:
Xcodeはタイガーに付いていた2.0です。
でもソースは古いバージョンで作成しました。
624 Name: 619 [] Date: 2005/06/03(金) 12:51:35 ID: mdifTZXg Be:
でも無視することにしました
どうもありがとうございました。
625 Name: 名称未設定 [sage] Date: 2005/06/07(火) 03:12:33 ID: Uj71mhZo Be:
Cocoaはびっくり!!!
ホントに再コンパイルだけで大丈夫?
626 Name: 名称未設定 [] Date: 2005/06/07(火) 11:03:53 ID: 5wOu+AlE Be:
Cocoaを勉強してまもないものでしが、疑問が湧いたので
教えてくださいまし....

プロジェクトのテンプレートから作成した自分のプロジェクト
にあるMainMenu.nibには、ブランクなWindowが最初からあるので、
実行時にMainMenu.nibが非アーカイブ化されて、
何もコーディングしなくても、Windowが表示されるという理解でした。
ところが、このMainMenu.nibに始からあるWindowを削除して、
自分でIBのパレットからWindowのインスタンスをMainMenu.nibに
追加しただけでは、実行した時Windowが表示されないんですが、
なぜなんでしょうか?
#削除は誤って消してしまったんでがす...

nibにあるオブジェクトは、実行時に読み込まれることで
非アーカイブ化されて、nibの中にあるオブジェクトが
インスタンスとして再生/表示されると思ってたんでげすが、
どうも間違って理解してるかなぁと。
確かに、デフォルトのMainMenu.nibに自分でWindowを追加しても
実行時は、始からあるWindowしか表示さえないような感じだし。
nibを読み込んだ時、オブジェクトのインスタンス化する、しないを
制御する設定があるとか?でしょか....
長々となってしまいますたが、ご指導お願いします。m(_ _)m
627 Name: 名称未設定 [sage] Date: 2005/06/07(火) 11:11:22 ID: x3On/PoM Be:
長文書く前に IB を隅から隅まで探してみよう。
628 Name: 名称未設定 [sage] Date: 2005/06/07(火) 13:11:37 ID: lkP+VnYs Be:
シフトとアップルキーとiを押してインスペクタ表示させて
enableで目的達成かな?
629 Name: 名称未設定 [sage] Date: 2005/06/07(火) 13:19:43 ID: C8fP4LT5 Be:
visible at launch time
630 Name: 名称未設定 [age] Date: 2005/06/07(火) 13:43:08 ID: PZXHGsMj Be:
Intel版MacOSXでもCocoaでアプリケーションつくれるんだろうな?

今やってる事を、無駄にしてくれるなよ。
631 Name: 名称未設定 [sage] Date: 2005/06/07(火) 13:45:21 ID: sd3uGvkI Be:
>>630
コンパイラー(gcc)の問題だけだから、大丈夫じゃね?
632 Name: 名称未設定 [sage] Date: 2005/06/07(火) 13:47:46 ID: bjquDwGR Be:
少なくともカーボンは死亡?!
633 Name: 名称未設定 [sage] Date: 2005/06/07(火) 13:56:43 ID: PZXHGsMj Be:
ClassicもCarbonも、もう要らんでしょ。

それより、MacでMacOSXとWindowsがネイティブ動作できるわけだ。
別にPowerPCの信奉者じゃないから、これはこれで便利かもしれん。

ノートタイプにはPowerPC G5は載りっこなかったわけだし。
634 Name: 名称未設定 [sage] Date: 2005/06/07(火) 14:33:35 ID: bjquDwGR Be:
OC=>C#になったりして
635 Name: 名称未設定 [sage] Date: 2005/06/07(火) 14:40:18 ID: QYcijSsv Be:
CPUが変わっただけで開発言語まで変わるわけないだろ。
636 Name: 名称未設定 [sage] Date: 2005/06/07(火) 14:46:33 ID: sd3uGvkI Be:
>>633
Windowsが今のX窓と同じ気軽さで動作するにはもう少し時間が必要だろうけどな。
637 Name: 名称未設定 [sage] Date: 2005/06/07(火) 15:03:33 ID: EuijbslM Be:
>>636
メモ帳程度なら今でも(ry.....
638 Name: 名称未設定 [sage] Date: 2005/06/07(火) 21:10:16 ID: cwOdR+f+ P2@ 218.177.208.63(YahooBB218177208063.bbtec.net) Be:
>>634
そーなったらいいのにな~♪
639 Name: 625 [sage] Date: 2005/06/08(水) 00:52:25 ID: 1K11YB8S Be:
>>627, 628, 629
ありがとございますた。解決しました。
精進します。
640 Name: 名称未設定 [sage] Date: 2005/06/08(水) 17:03:46 ID: YvSsftIJ Be:
NSEventのtimestampはイベントが起こった時の起動してからの秒数(NSTimeInterval)のようですが、
現在の起動してからの秒数はどっかにありますか?
641 Name: 名称未設定 [sage] Date: 2005/06/08(水) 17:13:50 ID: xXFoKkeS Be:
[[NSApp currentEvent] timestamp] かなぁ
642 Name: 名称未設定 [sage] Date: 2005/06/08(水) 17:27:38 ID: YvSsftIJ Be:
currentEventは最後のイベントらしいので結局同じイベントのtimestampしか得られないっぽいです…
やりたいのはviewのscrollWheel:(NSEvent *)theEventでtimestampとdeltaYを得て、
現在のNSTimeIntervalと比べてホイールの回転速度を知りたいのです

一気にまわすと↓こうなるので出来るかなと
2005-06-08 13:08:19.276 time=397451.7
2005-06-08 13:08:19.308 time=397451.8
2005-06-08 13:08:19.318 time=397451.8
2005-06-08 13:08:19.333 time=397451.8
2005-06-08 13:08:19.808 time=397451.8
643 Name: 名称未設定 [sage] Date: 2005/06/08(水) 18:28:29 ID: xXFoKkeS Be:
theEvent が作られた(発生した)瞬間と、scrollWheel: が呼ばれた瞬間は
同じと考えて(ひょっとしてこの2つの時間差を計ろうとしてない?)、
一回前にscrollWheel: が呼ばれた時とdeltaYを比べるべきじゃないですかね?

試してないけど、大体こんな感じでどうでしょう?

- (void)scrollWheel:(NSEvent *)theEvent
{
static NSTimeIntervalbeforeTime=0.0;
static floatbeforeY=0.0;
NSTimeIntervalcurrentTime=[theEvent timestamp];
floatcurrentY=[theEvent deltaY];

NSLog(@"移動距離=%f 移動速度=%f", currentY-beforeY, (currentY-beforeY)/(currentTime-beforeTime));

beforeY = currentY;
beforeTime = currentTime;
}

全然違ってたらゴメン
644 Name: 名称未設定 [sage] Date: 2005/06/08(水) 18:53:56 ID: YvSsftIJ Be:
>>643
私も同じだと思ってたんですが、同じだと>>642のログにはならないと思うのですが間違ってるかな
2005-06-08 13:08:19.276 time=397451.7
|0.03秒でtimestampが0.1変わってる(=違うときに発生したイベント)
2005-06-08 13:08:19.308 time=397451.8
|0.5秒経ってるのにtimestampは変わってない(=同じときに発生したイベント)
2005-06-08 13:08:19.808 time=397451.8

それとずっと回してる訳ではないので、それだと久々に回した時の計算がおかしくなります
(まぁいざとなったらcurrentTime-beforeTimeが○以上だったら無視、とかすれば良いですが)

なんか混乱してきた
645 Name: 名称未設定 [sage] Date: 2005/06/08(水) 19:18:09 ID: xXFoKkeS Be:
いや、イベントが発生した瞬間と、scrollWheelが呼ばれた瞬間に差があろうがなかろうが、
スクロール処理を実装するのに、その差を出す必要はないんじゃないかってことですよ。

> それとずっと回してる訳ではないので、それだと久々に回した時の計算がおかしくなります
もちろん>>643の方法ではまずいパターンは多々あるけど(最初に呼ばれた時とか)、
基本的な方法としてはこれでいいんじゃないかと思ったんだけど。
646 Name: 名称未設定 [sage] Date: 2005/06/08(水) 19:49:54 ID: YvSsftIJ Be:
そういや現在の起動時間-timestampでやったら(thread作るならともかく)
一回一回処理の時間かかるから意味ないですね
timestampが同じならdeltaYを足してって変わったら処理、でも良いけど、
それならbeforeTime=timestampしといてtimestamp変わったらbeforeTime-timestampでも良いし
timestamp変わらなかったら…だけどNSTimerで保険かけるか
また混乱してきたorz

とりあえず>>643で久々のor最初の一回目は固定の処理をする、でやろうと思います
ありがとうございました。お手数かけてすいません>ID:xXFoKke
647 Name: 名称未設定 [age] Date: 2005/06/09(木) 01:29:08 ID: U5TAbsaY Be:
Intel Macを考えるとCocoa-Javaがベストな選択?
ObjectiveCの場合、PPCとIntelの両方のプラットフォームを手に
入れないと動作確認できないのは辛いよね。
648 Name: 名称未設定 [] Date: 2005/06/09(木) 02:51:34 ID: E+utKdeO Be:
Cocoa-Java Bridge だって動作確認は必要じゃないの?
っていうか, Intel への移行で Java bridge の方がいいという意味が
わからんのですが...
649 Name: 名称未設定 [sage] Date: 2005/06/09(木) 02:57:54 ID: Q2WBZcyv Be:
Objective-Cで何の問題もないが。
妙なメモリアクセスさえしなけりゃね。
650 Name: 名称未設定 [sage] Date: 2005/06/09(木) 03:08:17 ID: qcbU4Ibf Be:
バイトオーダーに依存するような生々しい書き方せずに
Cocoaで書く分には問題ない、と思いたい。
651 Name: 名称未設定 [sage] Date: 2005/06/09(木) 05:47:41 ID: he1qz8bR Be:
自力でJava Bridgeをゴリゴリ作っている場合は、
ObjectiveCと同じように注意が必要だと思うけど
アッポ純正APIを使う分にはjavaの恩恵を受けら
れるんじゃないかな
652 Name: 名称未設定 [sage] Date: 2005/06/09(木) 13:20:22 ID: nvpZ+wnX Be:
え? なに? エンディアンが気になるって? (w
653 Name: 名称未設定 [sage] Date: 2005/06/09(木) 17:39:44 ID: 0Bp3zUBX Be:
やっぱC言語(ObjCも含む)の場合はエンディアンが気になるでしょう。
sys/socket.hのソケットを使って、intを送信したらどうなるのかな?
654 Name: 名称未設定 [sage] Date: 2005/06/09(木) 17:47:07 ID: shR02Ldd Be:
そんなに気になるかな? エンディアンよりもアライメントの方が気になる。
エンディアンはOSUtilのBitSetとかBitClrなんか使ってるとこくらいかな。
あとバイナリーファイルか。
655 Name: 名称未設定 [sage] Date: 2005/06/09(木) 18:55:16 ID: Q85Gthav Be:
> sys/socket.hのソケットを使って、intを送信したらどうなるのかな?

ぽかーん
656 Name: 名称未設定 [sage親切なオレ] Date: 2005/06/09(木) 19:00:26 ID: THp5slC2 Be:
つ man 3 byteorder
657 Name: 名称未設定 [] Date: 2005/06/09(木) 19:22:23 ID: C5WQDABc Be:
すみません、質問です
試しに適当な単語を入れて透明あぽーんを実行してたのですが
元に戻す方法がわかりません。。。(;_;)教えてください。
658 Name: 名称未設定 [sage] Date: 2005/06/09(木) 21:44:57 ID: hP3440Vc Be:
ぽかーん
659 Name: 名称未設定 [sage] Date: 2005/06/09(木) 22:09:33 ID: srbMc904 Be:
アップルって、Cocoa-Java を見捨てていない?
660 Name: 名称未設定 [sage] Date: 2005/06/09(木) 22:12:21 ID: ovNYdHZP Be:
ヒレガスも「Cocoa-Java は糞」と言ってるしね。
661 Name: 名称未設定 [sage] Date: 2005/06/09(木) 22:16:10 ID: d8CNzpEB Be:
力は入れてないわな
使ってる人あんまいなそうだしな
662 Name: 名称未設定 [sage] Date: 2005/06/09(木) 22:30:12 ID: vMM/PGut Be:
CocoMonarはさっぱり!!!
663 Name: 名称未設定 [sage] Date: 2005/06/09(木) 23:04:30 ID: srbMc904 Be:
WebObjectもVer6でObj-cに回帰しないかな。。。
664 Name: 名称未設定 [sage] Date: 2005/06/10(金) 00:18:52 ID: XM3olyed Be:
Cocoa-Javaってすっごく便利なんだけどね~おしいな~
まあ、ビジネス用途で開発する人は少ないと思うけど、
ビジネスロジックを書くならJavaが便利だもんね。
俺は、唯一のMacネイティブビジネスアプリ言語だと思っている
JDBCでPostgreやMySqlでデータベースアプリをガシガシ書けるし、
iReportで帳票も設計できるしね
665 Name: 名称未設定 [sage] Date: 2005/06/10(金) 00:49:00 ID: CvMCcu8N Be:
>ビジネスロジックを書くならJavaが便利だもんね。
なんで?
666 Name: 名称未設定 [sage] Date: 2005/06/10(金) 01:55:35 ID: ze5TOz5O Be:
ちょっとプログラミングをかじった奴に限って

「エンディアンが変わったら、全データを逆転しないと動かない」

とか平気で思ってんだよねw
667 Name: 名称未設定 [sage] Date: 2005/06/10(金) 02:43:16 ID: zPqwgHYa Be:
ぽかーん
668 Name: 名称未設定 [sage] Date: 2005/06/10(金) 11:21:22 ID: SUl1gbCy Be:
Safariで使われているタブを自作アプリで使いたいのですが、
あれって自前で書いて用意しないといけないのでしょうか。
669 Name: 名称未設定 [] Date: 2005/06/10(金) 16:31:27 ID: imLJkf8H Be:
最近マカエレからCocoMonarに乗り換えました
いくつかの疑問点があるので質問させて下さい

1、お気に入りのスレをファイル等を使い階層化できないのですか?
2、もしできないのであれば、お気に入り内のスレを整理したいのですが
  上下に入れ替える方法がわかりません、教えてもらえないでしょうか?
3、いわゆるタブブラウズのような機能は付いていないのでしょうか?
4、あぽーん機能で消したレスをスレに復帰さすには、レス番をクリックし
  一つ一つ迷惑レスのチェックを外していかなければいけないのでしょうか?
5、「掲示板リストの表示」から2chnnel.brdを読み込んだのですが
  なぜかラウンジが重複しているから読み込めないと言われました
  みなさんはどう、解決しましたか?

質問ばかりで恐縮ですが、ぜひご教示ください、よろしくお願いします。



670 Name: 名称未設定 [sage] Date: 2005/06/10(金) 16:32:44 ID: Qa8OEdgw Be:
>669
cocoちがい?
671 Name: 名称未設定 [sage] Date: 2005/06/10(金) 19:30:22 ID: ZxO6iFrg Be:
>>665
ガーベージコレクションがあるのでメモリの管理が楽だし
JDBCなどの周辺ライブラリが充実しているでしょ
まあそういってもCocoa&javaのメモリ管理はけっこう難しいが

>>666
ソケットを使っている人はやっぱエンディアンが気になるよ
PPC同士でintやlongをそのまま送信しているようなプログラムがあったとする
そのプログラムをPPC MacのサーバとINTEL Macのクライアントで使ったとする
やばそうな気がしない?
>656みたいにバイトオーダーを意識した作りになっていれば良いけど、
Macはビッグエンディアンだと思い込んで作られているソフトも多そうだよね。
672 Name: 名称未設定 [] Date: 2005/06/10(金) 19:41:33 ID: imLJkf8H Be:
>>669を書き込んだ者です
素で間違えました…申し訳ありません
別スレ行きます。
673 Name: 名称未設定 [sage] Date: 2005/06/10(金) 19:55:45 ID: zPqwgHYa Be:
> PPC同士でintやlongをそのまま送信しているようなプログラムがあったとする

そんな腐ったプログラムはさっさと捨てろ。
674 Name: 名称未設定 [sage] Date: 2005/06/10(金) 20:34:13 ID: ZxO6iFrg Be:
まあ、そうかも(*´・ω・)(・ω・`*)ネー
675 Name: 名称未設定 [sage] Date: 2005/06/11(土) 01:33:01 ID: wi69vX6j Be:
>>671
なんつーかな、ネットワークバイトオーダーって言葉すらあるわけで。
676 Name: 名称未設定 [sage] Date: 2005/06/11(土) 05:42:04 ID: 6lCJ7jaZ Be:
ポカーン
677 Name: 名称未設定 [sage] Date: 2005/06/11(土) 13:17:06 ID: Rko7qjp3 Be:
>>675
そうなんだよ(*´・ω・)(・ω・`*)ネー。
でもMacで開発する場合はプラットフォームが同じなので
そこまで意識して作っていないケースがありそう。
Javaアプリ(の規定値) と PPC Mac(の規定値)はそのまま通信できるしね

って実際は問題にならないかもしれないけど、複数のアーキテクチャで
テストしなきゃならないのは辛いよ(*´・ω・)(・ω・`*)ネー
678 Name: 名称未設定 [sage] Date: 2005/06/11(土) 15:21:09 ID: Jx8KguBk Be:
ネットワークにバイナリ垂れ流すような産廃業者のようなヤツはネットアプリ作るなよ。
679 Name: 名称未設定 [sage] Date: 2005/06/11(土) 15:25:13 ID: 5zW+Oyz3 Be:
ぽかーん
680 Name: 名称未設定 [sage] Date: 2005/06/11(土) 15:37:50 ID: RqJ/aaH/ Be:
telnet pc7.2ch.net 80
....
GET mac/dat/1091927026.dat HTTP/1.1
Host: pc7.2ch.net
Connection: close
Accept-Encoding: gzip

406 Not Acceptable
Reason: "ネットワークにバイナリ垂れ流すような産廃業者のようなヤツはネットアプリ作るなよ。"

Connection close.
681 Name: 名称未設定 [sage] Date: 2005/06/11(土) 16:15:14 ID: Jx8KguBk Be:
>>680
バイナリを出す時は、きちんとゴミ袋に包んで中身が漏れないようにして出しましょう♪
682 Name: 名称未設定 [sage] Date: 2005/06/11(土) 16:26:22 ID: rcIEd1tx Be:
何だこの実のない
683 Name: 名称未設定 [sage] Date: 2005/06/16(木) 15:23:18 ID: AeEJ4SAV Be:
10.3.9と10.4.1で同じ画像ビューアを動作させたとき、
10.3.9の方が早いみたいなんだけどそんなことあり得る?
画面に描画するのはTigerの方が早いっぽいんだけど
[ image lockFocus ];
[ sourceImageRep drawInRect:NSMakeRect(0,0,width,height) ];
[ image unlockFocus ];
とかはどうもPantherの方が早い気がする
気のせい?
684 Name: 名称未設定 [sage] Date: 2005/06/16(木) 21:47:50 ID: DAHCbBgz Be:
NSTableViewでdeleteキーを押したら選択されている行を削除する、という動作を実現するためには
delegateかdataSourceで実装するべきメソッドがあるのでしょうか?
この程度のことでサブクラス化なんてするはずないだろうし・・・
685 Name: 名称未設定 [sage] Date: 2005/06/16(木) 22:00:43 ID: AeEJ4SAV Be:
漏れは
[tableView selectedRow];
で列を出してdataSourceの該当行を消して
[tableView reloadData];
した気がする
686 Name: 名称未設定 [sage] Date: 2005/06/16(木) 22:20:59 ID: MgWekGvj Be:
そうじゃなくて、delegateやdatasourceにそれ用のメソッドが用意されてるのかって話。
結論としては、ないだろうけど。
687 Name: 名称未設定 [sage] Date: 2005/06/16(木) 22:36:15 ID: PoSlz3Gl Be:
最初は大変でもサブクラスに作っておけば使いまわしが聞くから、後々楽になると思うよ
コントローラとかに書いちゃうと後で必要になったときにいちいち探し出してコピペしなくちゃいけないから
結構面倒だったりする
後からサブクラス化するのも時間を損した気分になるしね
688 Name: 名称未設定 [sage] Date: 2005/06/16(木) 22:39:03 ID: AeEJ4SAV Be:
そこらへんはリファレンス見ればわかるしょ?
689 Name: 名称未設定 [sage] Date: 2005/06/16(木) 23:10:32 ID: 9yRuhygO Be:
>>684
Responderの仕組みを理解していれば答えは自力で導けるはず。
NSResponderとかについて調べてみよう。
690 Name: 名称未設定 [sage] Date: 2005/06/17(金) 01:01:36 ID: n5sUrjrt Be:
NSTextFieldのcopyやpasteに割り込むにはどうしたらいいんでしょう?
余裕かと思ってたんですが、やってみたらappのdelegateやviewのdelegateでもダメ。
サブクラスでオーバーライドしても無反応でした。
691 Name: 名称未設定 [sage] Date: 2005/06/17(金) 02:00:40 ID: HV9R48fR Be:
>>690
俺もEditableがNOの場合にペーストできるようにしたかったけど分かんなかった。
692 Name: 名称未設定 [sage] Date: 2005/06/17(金) 02:12:42 ID: n5sUrjrt Be:
EditableがNOだったらそもそもファーストレスポンダーが乗らないから
ペーストできるわけないがな(´・ω・`)

テキスト編集中はフィールドエディタにFRがあるからそっちから割り込まないと駄目なんでしょうか?
693 Name: 名称未設定 [sage] Date: 2005/06/17(金) 03:56:28 ID: n5sUrjrt Be:
ごめんなさい。EditableがNOでもファーストレスポンダーはくるし選択も出来るね。
694 Name: 691 [sage] Date: 2005/06/17(金) 12:15:18 ID: vxuMVT9L Be:
俺もちょっと違かった。

NSTextFieldにフォーカスがきている時でも、FirstResponderになっているのは
中で持ってる(であろう)NSTextViewみたいなんだよね。
([NSWindow firstResponder]がNSTextViewを返している)
このNSTextViewをサブクラス化したものに置き換えられればいいんだろうけど、
その方法が見つからなかった。

じゃあサブクラス化したNSTextViewをそのまま使えばいいや、と思ったんだけど、
NSTextViewもEditableをNOにするとオーバーライドしたpaste:に来なくなる。

俺もNSResponderの理解が不十分みいたいなんだけど、そもそも「ペースト」
を有効にする/しないはどう判定してるんでしょう?
695 Name: 名称未設定 [sage] Date: 2005/06/17(金) 18:24:01 ID: VD5ULbBx Be:
>>694
fieldEditor を置き換えるには、NSWindow の delegate で
- (id)windowWillReturnFieldEditor:(NSWindow *)sender toObject:(id)anObject
を実装し、anObject が目当ての NSTextField だったら自前の NSTextView
(のサブクラス)を返せば良いみたい。
nil を返せば通常の fieldEditor が使われる模様。
696 Name: 694 [sage] Date: 2005/06/18(土) 00:17:40 ID: QVZckyOm Be:
「ペースト」MenuItemを有効にするには、
- (BOOL)validateMenuItem:(id <NSMenuItem>)menuItem
でYESを返せばいいのね。
NSTextFieldならこれとpasteの実装でOKだった。

NSTextFieldの場合はそれに加えて >>695 をやれば良さそうですね。Thx!
697 Name: 名称未設定 [sage] Date: 2005/06/18(土) 23:36:32 ID: lNERbd1C Be:
>>633
> ClassicもCarbonも、もう要らんでしょ。

まだこういう人っていたんだ?
Classicはともかく、Carbonなくなったら大抵のソフトは動かないよ
CarbonはMac OS 9からの移行用APIではない
698 Name: 名称未設定 [sage] Date: 2005/06/18(土) 23:47:09 ID: wDCPaQ5j Be:
ところでFinderって完全にCocoaになったんだっけ?それともまだ?
699 Name: 名称未設定 [sage] Date: 2005/06/19(日) 02:41:05 ID: g2VpStDc Be:
Info.plist見るとNSPrincipalClassがないね
700 Name: 名称未設定 [sage] Date: 2005/06/19(日) 09:49:16 ID: cHrfvbSm Be:
>>697
>Carbonなくなったら大抵のソフトは動かないよ
今はそーでもないよ
701 Name: 名称未設定 [sage] Date: 2005/06/19(日) 10:18:53 ID: 3GtQkCPR Be:
互換部分のCarbonと基幹部分のCarbonをごっちゃにして語る奴がいるけど、無意味
702 Name: 名称未設定 [sage] Date: 2005/06/19(日) 10:25:36 ID: HWNTSri6 Be:
Carbonは冗長でイヤだな。
703 Name: 名称未設定 [sage] Date: 2005/06/19(日) 11:51:58 ID: VQrQF4SA Be:
CarbonとCoreFoundationの区別について
704 Name: 名称未設定 [sage] Date: 2005/06/19(日) 15:47:53 ID: 0w1POvEn Be:
>>699 から多分Finderもそうなんだろうけど、NSApplication使ってない、
WaitNextEventやRunApplicationEventLoop使ってるアプリはまだ結構あるでしょ。
OS 9の頃からあるアプリはほとんどそうなんじゃない?
705 Name: 名称未設定 [sage] Date: 2005/06/19(日) 21:38:09 ID: Q2O5VDOF Be:
>>700
AppleEventやATSUIやらが無くて動くソフトはどれですか?
日本語入力はどうやって動いてるの?
>>704
どれもCFRunLoopにhookしてイベント処理してるだけだから、表面仕上げが
多少違うだけで実質同じ物
Appleの人間はこう言ってます。
http://lists.apple.com/archives/carbon-dev/2005/May/msg01121.html
706 Name: 名称未設定 [sage] Date: 2005/06/19(日) 21:55:14 ID: 4WTupJu+ Be:
よくわからんがCarbonは無くならないという結論でいいのかな
そんなに刺々しいレスをしないでくれ
707 Name: 名称未設定 [sage] Date: 2005/06/24(金) 22:40:08 ID: i2pwDBDb Be:
NS保守
708 Name: 名称未設定 [sage] Date: 2005/06/25(土) 00:56:39 ID: +Y96h/+D Be:
[thisThread retain];
709 Name: 名称未設定 [sage] Date: 2005/06/25(土) 01:41:01 ID: 7cYAvp8h Be:
while(1)
{
 [thisThread addRes:[NS2chRes resWithString:@"Nullpo"]];
}
710 Name: 名称未設定 [sage] Date: 2005/06/26(日) 03:45:45 ID: DKrCBWgL Be:
- (void)awakeFromNib
{
clocktimer=[NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(thega:) userInfo:nil repeats:YES];
}

- (void)thega:(NSTimer *)atimer
{
[NS2chRes resWithString@">>709¥ngaxtu¥n"];
}
711 Name: 名称未設定 [sage] Date: 2005/06/26(日) 03:57:49 ID: PnY2KwNa Be:
on mouseUp
put "ガッ"
end mouseUp
712 Name: 名称未設定 [sage] Date: 2005/06/26(日) 04:02:32 ID: PnY2KwNa Be:
10 R=INT(RND(0)*2)
20 IF R=0 THEN PRINT"ぬるぽ":GOTO 10
30 IF R=1 THEN PRINT"ガッ":GOTO 10
40 PRINT"あぼーん"
50 PLAY"T120L8O2C"
60 GOTO 10
713 Name: 名称未設定 [sage] Date: 2005/06/26(日) 13:05:34 ID: 15aNwBjp Be:
妙な流れを打ち切ってすみませんが質問です。
NSControlに複数のサイズの異なるセルを張り付けたいのですが、
この用途だとNSMatrixが使えませんよね。

NSControlのサブクラスで +(Class) cellClassを呼んでセルを指定すると
1つのセルがコントロール全体に張り付けられてしまいます。

複数のセルを張り付けるにはどのメソッドで指定あるいはメソッドを上書きすればよいのでしょうか。
714 Name: 名称未設定 [sage] Date: 2005/06/26(日) 16:27:01 ID: Pf+FXJWq Be:
素直に複数のcontrolを使うべきかと。
715 Name: 名称未設定 [] Date: 2005/06/30(木) 21:13:43 ID: ZcUpSpTh Be:
iSightなどのウエブカムの映像を表示するにはどうしたらいいんでしょうか。
やっぱ、QuickTimeですかね。
716 Name: 名称未設定 [sage] Date: 2005/06/30(木) 22:18:13 ID: u29+tM3D Be:
>>715
たぶんSequenceGrabberあたり
717 Name: 名称未設定 [sage] Date: 2005/07/01(金) 16:12:53 ID: NSLqrMJ4 Be:
NSWidth()ってあるけど、aRect.size.widthのようにアクセスするのとどう違いますか。
わざわざ用意してあるということは関数を使うほうがAppleの推奨ということなんでしょうか。
718 Name: 名称未設定 [sage] Date: 2005/07/01(金) 16:25:22 ID: cyXWOZq1 Be:
同じ
推奨かどうかは知らん
719 Name: 715 [sage] Date: 2005/07/01(金) 18:18:20 ID: dlHkQBF+ Be:
>>716
いろいろ調べてみたけど、さっぱりでした
そんなに簡単じゃないんですね。
720 Name: 名称未設定 [sage] Date: 2005/07/02(土) 12:54:34 ID: 819uAjmQ Be:
>>717
NSGeometry.h
FOUNDATION_STATIC_INLINE float NSWidth(NSRect aRect) {
return (aRect.size.width);
}
721 Name: 名称未設定 [sage] Date: 2005/07/02(土) 12:57:08 ID: 819uAjmQ Be:
補足
構造体のメンバ名がwideとか変わった場合(あり得ないけど)
関数経由でアクセスしておけば書き直す必要がない
まあこんな単純なものは気にする必要ないだろうけど
722 Name: 名称未設定 [sage] Date: 2005/07/02(土) 14:19:45 ID: SY1+gf3w Be:
>>715
ttp://www.mindsprockets.com/developer.html
iSightでいいなら(1394接続向けっぽい)、ここのiRecordが参考になるかも。
723 Name: [sage] Date: 2005/07/02(土) 14:22:28 ID: rIs1fFu9 Be:
>>717
関数のメリット→>>721のいうとおり、あとタイプ数が少ない

関数のデメリット→変数に直接アクセスするよりは時間がかかる
(ループの中でそれこそ山のように繰り返すようなことでもしなければ、体感では分からない程度だろうが)
724 Name: 名称未設定 [sage] Date: 2005/07/02(土) 14:46:49 ID: OckeRv9x Be:
>>723
>関数のデメリット→変数に直接アクセスするよりは時間がかかる

インライン関数ですが?
725 Name: 名称未設定 [sage] Date: 2005/07/02(土) 18:04:54 ID: KH7dWUvg Be:
このスレはCococa-Javaの質問を投下しても
いいのでしょうか?
726 Name: 名称未設定 [sage] Date: 2005/07/02(土) 18:32:15 ID: f508yev0 Be:
もちろん
727 Name: 名称未設定 [sage] Date: 2005/07/02(土) 20:07:59 ID: KH7dWUvg Be:
>>726
ありがとうございます。

早速ですが
NSImageView をwindow に複数個設置し
ユーザーがそのうちの1つを選択した時、
選択されたNSImageView の情報を取得する
メソッドはあるでしょうか?

初心者なので質問の仕方もよく分かりませんが
よろしくお願いします。
728 Name: 名称未設定 [sage] Date: 2005/07/02(土) 20:19:22 ID: Lz7MvM7e Be:
なかったらサムネイル作るとき便利悪いんじゃね?
729 Name: 名称未設定 [sage] Date: 2005/07/04(月) 15:42:43 ID: 2d8Tyv9O Be:
>>721
もう一つメリットがあるぞ。
いちいち構造体の内部を憶えておかなくていい。
730 Name: 名称未設定 [sage] Date: 2005/07/05(火) 22:58:49 ID: yDgkwwoJ Be:
メタデータインポータを作成中・・・

でも、アップルの資料の通りGetMetadataForFileのなかでNSDictionary*とか使ったら
コンパイルエラーに。error :'NSDictionary' undeclared.

仕方ないから勝手にFondationフレームワークを追加して#include <Foundation/Foundation.h>
を入れたらこのエラーは出なくなったけど、こんどはリンカの段階で
Undefined symbols: _GetMetadataForFile
とかでるようになった。どうすりゃいいの?  orz
731 Name: 名称未設定 [sage] Date: 2005/07/06(水) 00:13:12 ID: AhsYu3ZC Be:
リンクすべきフレームワークが抜けてるんじゃないの?
732 Name: 名称未設定 [sage] Date: 2005/07/06(水) 23:55:16 ID: or/BrvdA Be:
拡張子は .m になってる?
733 Name: 730 [sage] Date: 2005/07/07(木) 00:11:13 ID: QtDC3cX0 Be:
>>732
お、すごい。.cを.mに変えたら一発で通っちゃった。
なんで気がつかなかったんだ!
ありがとう。助かったyo!
734 Name: 名称未設定 [sage] Date: 2005/07/09(土) 11:54:57 ID: VNovAsMv Be:
ADCのメーリングリストを見ていたら、Cocoa-Javaの
JavaBridgeは、MacOSX 10.4までしか提供しないよう
な事が書いてあった(英語力はありませんが)んだけど
これが本当ならモチベーション下がるなぁ。
かなりJavaのライブラリに依存した形で作ったので、
Objcへの移行も大変すぎるし・・・はぁ。
735 Name: 名称未設定 [age] Date: 2005/07/09(土) 12:06:59 ID: VNovAsMv Be:
そういえば、
Java-Swingに移行した方が楽だけど、
日本語関係のトラブルがなぁ・・・はぁ。
736 Name: 名称未設定 [sage] Date: 2005/07/09(土) 18:15:20 ID: VNovAsMv Be:
Important: Features added to Cocoa in Mac OS X versions later
than 10.4 will not be added to the Cocoa-Java programming
interface. Therefore, you should develop Cocoa applications
using Objective-C to take advantage of existing and upcoming
Cocoa features.
・・・はぁ。
Cocoa-JavaってIntel移行に有効だと思うんだけどおしいなぁ。
Macの開発者離れが心配だ。
737 Name: 名称未設定 [sage] Date: 2005/07/09(土) 19:58:02 ID: E1c87c/G Be:
>>736
え、心配するほどCocoa-Javaやってる人いるの?
738 Name: 名称未設定 [sage] Date: 2005/07/09(土) 20:29:59 ID: qPdjmoYw Be:
>>736
「10.5以降でCocoaに追加される機能はCocoa-Javaには提供されない」
ってことで、Cocoa-Java自体が無くなるわけじゃないみたいね。
とりあえずのところは。

Javaの言語仕様と相容れないからなのか、
現状でもObjective-Cで使えるCocoaの重要な機能いくつか使えないしね。
まあしょうがないんじゃない。
739 Name: 736 [sage] Date: 2005/07/09(土) 22:13:56 ID: VNovAsMv Be:
>>737
Web上で検索すると結構いそうな感じだよ。
取っ付き易いので、Java開発者の人口を考えると
侮れないと思う。

>>738
互換性を考えると10.2や10.3の機能しか使えないかも知れなけど
未来が無いと思うとがっかりするよ。
740 Name: 名称未設定 [sage] Date: 2005/07/10(日) 00:56:58 ID: GVmBZs/e Be:
Javaの人は動作速度向上を期待してJava+Swingでがんがったほうがよさそうですね。
741 Name: 736 [sage] Date: 2005/07/10(日) 08:11:51 ID: kxVvCvOM Be:
>>740
Java+Swingでも動作速度については、あまり問題にならないと思われるけど、
jvmのバージョンアップで動作がころころ変わるのが問題なんだ。
Cocoaなら最低限の互換性は保てるからね。
その点、Cocoa-Javaで組めば10.5以上でもそのまま動作するなら
逆に嬉しい事なのかもしれない。
742 Name: 名称未設定 [sage] Date: 2005/07/10(日) 16:34:47 ID: RdgvDq0f Be:
Cocoa+JavaってJavaの売りを捨ててまで使うようなもの?
単純に敷居を下げてるだけだと思ってたけど
743 Name: 名称未設定 [zage] Date: 2005/07/12(火) 20:50:17 ID: RZMLWeWQ Be:
MSのC#やJ#のような位置付けだと思っていたけど
Appleの体力が持たないんだろうね
逆にJavaBridge部分がオープンソースになればもっと進化するかも
744 Name: 名称未設定 [sage] Date: 2005/07/13(水) 09:41:35 ID: I3EzBleC Be:
C#,J#は怪しいパチモノマネ商品ガンガル。
Cocoa-Javaは宗教上の理由 な ど で、どうしてもObjective-Cをつかえない人向け。
745 Name: 名称未設定 [sage] Date: 2005/07/13(水) 10:41:34 ID: LoHjvrYV Be:
Javaで間口を広げようとしただけで、もう役目は終わってお払い箱って
とこかな。Cocoa-Javaで書かれたソフトって見たことないけど、何か
あんの? Apple製以外で?
746 Name: 名称未設定 [sage] Date: 2005/07/13(水) 17:19:17 ID: E9UMuPut Be:
>>744
C# はそんなにわるくない
747 Name: 名称未設定 [sage] Date: 2005/07/13(水) 23:00:57 ID: sjeCZb0t Be:
Cocoa-Javaってのは、
既に作られたJava製の何かのソフトの核を利用して
Cocoaのガワをつけるためにあるんでないのかい?
おまいら自分の日曜プログラムの範囲だけで考えてない?
748 Name: 名称未設定 [sage] Date: 2005/07/13(水) 23:05:29 ID: Pxke0nYc Be:
だって日曜プログラマだし。
749 Name: 名称未設定 [sage] Date: 2005/07/14(木) 00:06:15 ID: D3OtjT+w Be:
Cocoa-Javaは、Java用のライブラリが使えるのが美味しい。
JDK1.4に付属の物だけでも、宝の山。

ディスコンにするなら、Objective-Cのライブラリが増える事に期待。
せめて正規表現関係は欲しい。
欲を言うと、JDK1.5のような並列ライブラリも欲しい。
750 Name: 名称未設定 [sage] Date: 2005/07/14(木) 09:53:38 ID: ZXafrmZW Be:
正規表現なら鬼車使えばいいんでないかい? BSDライセンスだから
商用でも使えるし。
751 Name: 名称未設定 [] Date: 2005/07/14(木) 13:14:25 ID: dvt1bI3T Be:
人から渡されたソースコードがみずらいときの為の
Objective-C用のソースコード整形ツールなどはありませんか?
ググッてもなかなか見つかりません。
Win用でもかまいません。
752 Name: 名称未設定 [sage] Date: 2005/07/14(木) 13:23:14 ID: 9bprzZfS Be:
emacs で Objective-C モードで読み込んで C-M-\ だとどうでしょう


753 Name: 751 [] Date: 2005/07/14(木) 13:54:05 ID: dvt1bI3T Be:
>>752

お返事ありがとうございます。
いい忘れましたがソースファイルは膨大な量があります。
Xcodeで一つづつならインデントなどできますが、括弧のフォーマットなどは出来なかったです。
なので、できれば一括して処理できるものを探しています。
754 Name: 752 [sage] Date: 2005/07/14(木) 15:17:33 ID: sBgITEI1 Be:
emacs でもたくさんのファイルをいっぺんにできそうですが、やり方はすぐわかりません。
indent コマンドでやってみましたが Objective-C だとあまりよくないですね。
755 Name: 名称未設定 [sage] Date: 2005/07/14(木) 17:32:29 ID: B2RLx1RO Be:
前にperlで整形用スクリプト書いたけど
複数行にまたがる処理ができなくてカッコで挫折した
756 Name: 名称未設定 [sage] Date: 2005/07/14(木) 19:00:55 ID: oOLa8rbw BE:419654988-# Be:
>>753
Xcode ですべて選択して 「再インデント」 では?
757 Name: 名称未設定 [sage] Date: 2005/07/14(木) 20:40:35 ID: t7pm9sgq Be:
>> 749
おれは、階層がフラットで美しいCocoaライブラリを見た後、
Javaのようなごちゃごちゃしたものライブラリは使う気が起
こらなった。それに、Cocoaのライブラリは、少ない学習期
間でさくさく使えるし。
758 Name: 名称未設定 [] Date: 2005/07/14(木) 22:05:33 ID: uDjQ5QzU Be:
>>757
業務アプリなどを組む時にはやっぱJavaでしょう。
SwingだとGUIがいまいちなのでCocoaはいいよ。
帳票もiReport等を使えば楽だし、Oracle等の
データベースアプリもちょちょいのちょいだし。
759 Name: 名称未設定 [sage] Date: 2005/07/14(木) 22:50:44 ID: t7pm9sgq Be:
>> 758
たしかに業務用ライブラリは少ないが、Cocoaの場合、QTKitや
Core Imageのようなマルチメディアライブラリの出来はいいと
思う。Javaの場合、JMF、JavaSoundは廃れたし、JAIは多少使わ
れているようだが。。。
760 Name: 名称未設定 [sage] Date: 2005/07/15(金) 00:31:40 ID: kbcd4inV Be:
>>754
整形コマンドは俺も欲しい
indentの設定ファイルだけでもいいかどこかで手に入りませんか?
761 Name: 名称未設定 [sage] Date: 2005/07/15(金) 04:45:10 ID: 0AzYohWi Be:
[hoge hoge];//hogeです

って書くと
そのあとインデントtab一個ずれるよな.
762 Name: 752 [sage] Date: 2005/07/15(金) 11:27:47 ID: ndUitMQh Be:
>>760
indet コマンドは入ってませんか?
Objective-C だとあまりうまくいきませんけどね。
763 Name: 名称未設定 [sage] Date: 2005/07/16(土) 11:24:57 ID: YyiUMh8Y Be:
>> 762
やっぱり、macに入ってるindentもObjC対応でないんですか。
EmacsのObjCモードくらいしか整形ツールは無いんですね。
メンドクサイ。
764 Name: 名称未設定 [sage] Date: 2005/07/16(土) 14:50:50 ID: vK1Oa8X9 Be:
何でないなら自分で作ろうとしない?
765 Name: 名称未設定 [sage] Date: 2005/07/16(土) 14:55:43 ID: 9g6eTQJ3 Be:
面倒をほかに押し付けるためのツールやライブラリなのに
なんで自分で面倒をしょいこまにゃならんのだ
無くて致命的に困るわけじゃない
使えるツールが出てくるまで愚痴こぼしながら我慢するんさ
766 Name: 751 [] Date: 2005/07/16(土) 14:59:10 ID: lMQ5Tezo Be:
みなさん、お返事ありがとうございました。
結論からしてObjective-C用の一括整形ツールは存在しないとのこと。
ないものはいくら頑張っても仕方ないのであきらめます。
767 Name: 名称未設定 [sage] Date: 2005/07/16(土) 15:52:33 ID: SOd69Oj/ Be:
整形はSCMのファイルが肥大化するので使ってないけど

% emacs -batch -l indent-mode -f objc-indent-function -f example.m
程度で我慢してみてはいかがでせう。
768 Name: 名称未設定 [sage] Date: 2005/07/16(土) 18:09:19 ID: Kg+tcUdP Be:
>>755
カッコ開始にあたったら「今カッコの中」というフラグを立てる。
フラグが立ってる間はカッコの中用の処理をさせる。
閉じカッコにあたったらフラグ下ろす。
769 Name: 名称未設定 [sage] Date: 2005/07/16(土) 18:17:30 ID: fcGjWFhM Be:
俺のセレクタの書法

@selector( hoge: foo: bar: baz: )

これって少数派?
770 Name: 582 [sage] Date: 2005/07/16(土) 20:24:43 ID: l8MKE0ug Be:
これのObjective-C版が欲しいかな
GNU GLOBAL
ttp://www.tamacom.com/global-j.html
771 Name: 名称未設定 [sage] Date: 2005/07/16(土) 23:10:29 ID: YyiUMh8Y Be:
CodeWarriorでは、定義された関数とかクラスはカラーリングされてたけど、
Xcodeでは出来ないの?
予約語とかは出来るし、option+clickで飛べるのに...
誰かやり方教えてよ。
772 Name: 名称未設定 [sage] Date: 2005/07/17(日) 03:20:59 ID: 7ri4mCMq Be:
それができればなあ
773 Name: 名称未設定 [] Date: 2005/07/18(月) 19:28:26 ID: vSP04eaR Be:
EclipseにObjectiveCのプラグインができれば使うんだけどなぁ
XcodeとInterfaceBuilderの連携は他人のプログラムが読み難い
のでいまいち好きになれない
Xcodeってチーム開発の事を考えて作ってあるのかな?
774 Name: 名称未設定 [sage] Date: 2005/07/18(月) 20:34:19 ID: iftCVtRW Be:
チーム開発なら読むのは他人のプログラムのソースコードじゃなくて
そのプログラムの仕様書だから
別にいいんでないの?
775 Name: 名称未設定 [sage] Date: 2005/07/18(月) 20:48:46 ID: oh7O52eK Be:
クロスレビューしない?
776 Name: 名称未設定 [sage] Date: 2005/07/18(月) 21:01:03 ID: 4bzFWK5v Be:
UIに関する動作を変えようと思ったとき、Xcodeだけじゃなくて
nibまで変更しなきゃならん事があり、そのたびに
Interface Builderでnibを変更して、なおかつ各国語版のnibまで
更新しなきゃならん。

最悪。
777 Name: 名称未設定 [sage] Date: 2005/07/18(月) 22:23:51 ID: ZTXFrBnS Be:
AppleGlot使え
778 Name: 名称未設定 [sage] Date: 2005/07/18(月) 22:51:33 ID: qoXWczdj Be:
iLocalize、PowerGlotなんかもある。
779 Name: 名称未設定 [] Date: 2005/07/19(火) 00:29:36 ID: yv88O0m/ Be:
特に iLocalize は多言語編集と使いやすさと分かりやすさで一番お勧め。
文字を更新した後でnibを編集してレイアウトを調整するだけ。
780 Name: 名称未設定 [sage] Date: 2005/07/21(木) 16:47:30 ID: NZkq8kmt Be:
NSOpenPanelで不可視の項目を表示する方法はないのでしょうか?
781 Name: 名称未設定 [sage] Date: 2005/07/21(木) 19:36:02 ID: Cge2caP0 Be:
>>780
setShowsHiddenFiles:
782 Name: 名称未設定 [sage] Date: 2005/07/21(木) 20:08:38 ID: NZkq8kmt Be:
>>781  おおー!確かに出来ました。ありがとうございました。

でもなぜヘッダにもリファレンスにも載ってないんでしょう?
AppleScript(choose fileとか)でもCarbon(Navigation Services)でもある機能なので
非公開にする理由もないように思えますが。
783 Name: 名称未設定 [] Date: 2005/07/24(日) 16:50:30 ID: NDerUU+w Be:
Cocoa+Objective-Cで
Dockにあるアプリケーションのアイコンをバウンドさせたいのですが
それらしい機能がAPIリファレンスをみてもそれらしき物が見つかりません。
どなたかご存知のかたいませんか?
784 Name: 名称未設定 [sage] Date: 2005/07/25(月) 00:35:43 ID: H6/29vPl Be:
>>783
NSApplication requestUserAttention:
785 Name: (・∀・) [sage] Date: 2005/07/25(月) 00:37:45 ID: sIAGmmIB Be:
Cocoaはやっぱりって本をみると、
NSApplicationクラス?で、
requestUserAttention:(NSRequestUserAttentionType) reqType
ってのがあるようです。
786 Name: 名称未設定 [sage] Date: 2005/07/25(月) 23:03:45 ID: wy6lTW4n Be:
>>784-785
できkました。かんしゃです!
787 Name: 名称未設定 [sage] Date: 2005/07/25(月) 23:13:14 ID: k01PnPiu Be:
荻原本が絶版で買えない(つД`)
他に初心者向きの良いObjective-C本やサイトってありますか?
788 Name: 名称未設定 [sage] Date: 2005/07/26(火) 03:05:20 ID: wgQR2SzM Be:
HMDTはどうよ?

ヒレガス本は初心者にはお勧めできない。
つか自分もまだ全部は読んでない・・・
789 Name: 名称未設定 [sage] Date: 2005/07/26(火) 08:10:57 ID: rVETzjPB Be:
WebKit SDKって今から入手できないかな?
xcodeに移行しろよって言われればそれまでなんだけど、
完成までは開発環境を変えたくないのです。
790 Name: 名称未設定 [sage] Date: 2005/07/26(火) 21:10:42 ID: WMk5Prir Be:
>>788
HMDTは持ってます。てか最初に買いました。
プログラム自体が素人なので他に柴田望洋明解C言語なども。
あと、
http://developer.apple.com/ja/documentation/cocoa/Conceptual/ObjectiveC/index.html
とかも暇みて読んでます。読むだけだったら猿にも出来るし(ノД`)
さらにヒレガス本昨日注文しました(ノД`)
頑張るべ・・・
791 Name: 名称未設定 [] Date: 2005/07/27(水) 00:12:01 ID: 4usubLBL Be:
NSTaskについて質問です。
UNIXのコンソールアプリに、CocoaのGUIをかぶせたものを作りたいです。

NSTaskでコンソールアプリを起動させます。
NSTaskDidTerminateNotificationのセレクタを登録しておき
アプリケーションの終了時にapplicationWillTerminate:メソッド内で
コンソールアプリに終了通知コマンドを送りNSTerminateLaterを返します。
そしてNSTaskDidTerminateNotificationを待ってから
[NSApp replyToApplicationShouldTerminate: YES]で終了させたいと考えています。

しかし妙な事にNSTaskDidTerminateNotificationはアップルメニューをクリックして、
メニューのハイライトを離してからでないとどうしても通知されないのです!
どなたか解決策をご存知の方ご教授宜しくお願いします。
792 Name: 名称未設定 [sage] Date: 2005/07/27(水) 09:02:14 ID: LkmEEXTf Be:
NSToolbarItemのサイズを可変(ウインドウのサイズに合わせてサイズが変わる)にするにはどうすればいいですか?
793 Name: 名称未設定 [sage] Date: 2005/07/27(水) 09:16:28 ID: 3r5swYNP Be:
>>788
初心者にこそヒレガス本だろ。Cocoaのプログラミングスタイルを学べる
唯一と言っていい本だし、つまづく要素はどこにもない。あれでつまづく
ようなら見込みはないと思った方がいい。

ただ、HMDTもそうだが最低限ANSI Cは知っていなければならない。
794 Name: 名称未設定 [sage] Date: 2005/07/27(水) 09:35:53 ID: hvMTIN31 Be:
そのANSI Cを知ってないといけないというのがなあ。。
一応独習Cとか買ってかじった事もあったけど
やっぱりGUI付きの具体的なものとか、
テキスト処理とかの目に見えて自分に利益があるものがすぐには作れないせいで
なかなか学習が進まず・・・。
ポインターもよく理解しないまま途中で放り出してしまったですよ。
795 Name: 名称未設定 [sage] Date: 2005/07/27(水) 10:36:56 ID: 3r5swYNP Be:
ANSI Cは英語で言えばアルファベットのようなもの。これを通過しないと
C++にもObjective-Cに進めないからね。

最初からGUIよりもやはり最低限標準ライブラリくらいは一通りやって
おいた方がいいよ。実習みたいな本で練習して慣れるのが一番の早道。
C++の標準テンプレートライブラリに比べればずっと楽だよ。

ポインタはアセンブラをやってれば理解が早いんだけど、今時アセンブラ
の本なんてほとんどないし、使うこともないからね。ポインタはアドレス
と格納されるデータの関係を掴めば理解できる。これも慣れで突破するしか
ない。
796 Name: 名称未設定 [sage] Date: 2005/07/27(水) 11:26:08 ID: JXSdsqJ/ Be:
>>792
maxSizeとminSizeを指定してやれば良いんじゃないの?
797 Name: 名称未設定 [sage] Date: 2005/07/27(水) 13:17:53 ID: hvMTIN31 Be:
>>795
『標準ライブラリ一通り』はどうすれば学習できますか?
ヘッダを読む?とかいうのも、読み方自体がわからないし・・・。
798 Name: 名称未設定 [sage] Date: 2005/07/27(水) 13:34:19 ID: 3r5swYNP Be:
>>797
大抵の実習本なら標準ライブラリは使うはずなのでそういう本で
慣れることが一番いいと思う。全部を憶える必要はない。
Cocoaで使うことはそれほどないけど、やっていると役に立つ
こともある。俺はファイル関係等で結構使ってるけどね。

大昔のパソコンサンデーじゃないけど、習うより慣れろ。
799 Name: 名称未設定 [sage] Date: 2005/07/27(水) 15:09:39 ID: hvMTIN31 Be:
標準ライブラリって、studio.hとかあんなんですか?(もうそのへんの記憶もない)
当時わざわざCodeWarrior買ってやってたんですが、
入門書そのままの記述だとだめだったりした覚えが。

ああ、無駄金かなり貢いでしまった。
orz
800 Name: 名称未設定 [sage] Date: 2005/07/27(水) 15:22:50 ID: wJKstNHe Be:
変に根元を押さえようとするより、手を動かして慣れた方が身に付くものは多いと思。
得てして上級者は基本が重要だと言い張るのだが、
基本を完全に身につけてから実践に入る奴なんてどこ探したっていない。
801 Name: 名称未設定 [sage] Date: 2005/07/27(水) 15:37:23 ID: 3r5swYNP Be:
>>799
まぁ、昔のClassic MacOSにはコンソールがなかったからな。
CodeWarriorだとSIOUXなんて変なライブラリ使わなきゃならなかったが
標準入出力モドキがついてたTHINK C/Symantec C++よりは劣ってたな。
MPWならそのまま動いたと思うけど。標準入出力関連は入門書のままじゃ無理。

ただ、MacOS Xではそのまま動くはずだよ。
802 Name: 名称未設定 [sage] Date: 2005/07/27(水) 15:45:45 ID: AB5m2NXy Be:
learn Cで2週間だった。4.2BSD。
803 Name: 名称未設定 [sage] Date: 2005/07/27(水) 16:49:38 ID: wXNNSlzR Be:
Cをやり始める人へ。
モジモジ処理があんな面倒だろ。でも実際はもっといいものがあるので安心しろ。
804 Name: 名称未設定 [] Date: 2005/07/27(水) 17:26:19 ID: GSdaf/f9 Be:
>>788
HMDTは初心者にはお勧めできない。
本に書いてある通りに作っても
コードが掻い摘んで書いてあるから動かない。
初心者は混乱するだけだと思う。
805 Name: 名称未設定 [sage] Date: 2005/07/27(水) 19:04:12 ID: Q2QyFngI Be:
Cocoaだけやるなら
ANSI Cなんてサラッとでいいよ。

ポインタは
インスタンス変数を宣言する時は*hoge
メソッドがポインタ要求してたら&hoge
まー、こんな理解で必要十分だとおもーよ。

今時、Hello,Worldなんかやってても面白くないし。
806 Name: 名称未設定 [sage] Date: 2005/07/27(水) 20:21:08 ID: AB5m2NXy Be:
struct使うとendian問題あるし。
807 Name: 名称未設定 [sage] Date: 2005/07/28(木) 00:04:39 ID: SbUgNemi Be:
>>793
>最低限ANSI Cは知っていなければならない。

つまり初心者にはお勧めできないってことだろ・・・
808 Name: 787 [sage] Date: 2005/07/28(木) 00:35:18 ID: NeSsoNUE Be:
>>804
確かにHMDT読んで、CPUモニタ作ってみた時、初心者の自分ですら
なんか足りなくね?とか思ったわけで。
本にサポート用の全チャプタのソース置いてあるURLが書いてあるので
落として見れば全部解決なんだけど・・・。
IBを使う部分にしても初心者にはキツい省略してたりするし。
あまり一冊だけに期待するのも酷だとは思ってますが。

明日はヒレガス本来るかな。
809 Name: 名称未設定 [sage] Date: 2005/07/28(木) 00:48:28 ID: Nw1HmD9Z Be:
>>808
HMDTはいい本だとは思わないけど、その評価はちょっと酷な気もする。
初心者向けの本ってあまり実用性のないサンプルで学ぶ形式だし、
Cocoa全般を網羅してるわけじゃないからね。ヒレガス本と言えども。

荻原本は廃刊というより出版社がなくなったみたいだね。1年くらい前かな。
Objective-Cはアップルのサイトに日本語のドキュメントがあるので
それを読めばいい。普通にCocoaを使う分には全部読む必要はないが。
810 Name: 名称未設定 [] Date: 2005/07/28(木) 01:02:08 ID: ow8PoBwS Be:
CocoaのAPIの使い方に難儀しています。
NSToolbarでSafariの機能拡張のように現在選択されているツールバーがハイライトされる設定と
通常のツールバーのようにクリックしてもハイライトされないようにする設定はどこにあるのでしょうか?
811 Name: 名称未設定 [sage] Date: 2005/07/28(木) 01:31:49 ID: ZGG1qoe3 Be:
HMDT本は最後にでも良いからコード全部書いてあったら初心者向けにはなかなか良い本だったと思う。
一部しか書いてないんじゃ、自分で打っても動かないから「へー」て言うしか無いし、
落としちゃったら見て「へー」て言うしか無いし。
やっぱり自分で(わからないながらも)全部打った方が、
試行錯誤してやっと動いた時に実感とか達成感がわくし、覚えられる。
まぁHMDT本読んで細々とだけどフリーウェア作れるようになったから文句言うのはあれだけど。
あとCは知らんくてもどうにかなるかと。本当に基本的なとことポインタだけネットで調べれば。
バチスカ女子校生も良く知らんみたいだし、俺も知らんかったけどなんとかできてるし。
趣味じゃなくて本気でやるなら勉強するべきだろうけどそういう人はとっくに知ってるような。
個人的にはリファレンス本が欲しいなぁ。それぞれにちょっとしたサンプルコード付きの。
というかttp://www.oomori.com/cocoafw/index.htmlをもうちょっと丁寧にした感じの。
812 Name: 名称未設定 [sage] Date: 2005/07/28(木) 01:59:39 ID: W6AjEHj3 Be:
>>810
ttp://homepage.mac.com/mkino2/cocoaProg/AppKit/NSToolbar/NSToolbar.html
813 Name: 名称未設定 [] Date: 2005/07/28(木) 02:04:20 ID: ow8PoBwS Be:
>>812様感謝
なるほどデリゲートメソッドの実装のところで
toolbarSelectableItemIdentifiersを実装しなきゃ行けなかったんですね。どうもお騒がせしました。
814 Name: 名称未設定 [sage] Date: 2005/07/28(木) 15:08:43 ID: Tse4lqha Be:
>>811
漏れはかなりoomori.comに助けられてるんだが・・・
ちみもまずは「大盛り」さんに感謝すべきじゃないか?
815 Name: 名称未設定 [] Date: 2005/07/28(木) 19:51:07 ID: TASJ5I1k Be:
萩原本の復刊リクエストを出しました。
興味があったら是非投票してくださいな。
http://www.fukkan.com/vote.php3?no=29943

書名が微妙に間違ってるのは、修正依頼を出したので修正されるはず。
816 Name: 名称未設定 [sage] Date: 2005/07/28(木) 23:34:23 ID: ZGG1qoe3 Be:
>>814
俺も助けられてるし感謝はしてるよ。
助けられてるからこそurl知ってて出したんだし。
ただもうちょっとサンプルコードや説明が具体的だったらなぁって思うから、
そういう本が欲しいなって言っただけだよ。
817 Name: 名称未設定 [sage] Date: 2005/07/29(金) 11:06:01 ID: M23of279 Be:
そうだね。無料で利用させてくれるとこに今以上を期待するのも図々しいし、
本が出たらうれしいよね。
818 Name: 名称未設定 [sage] Date: 2005/07/29(金) 11:25:37 ID: qfOEZnWy Be:
あそこはフィードバックできるようになってるから、
自分がわかるものに関しては積極的にサンプルコードを投稿したら?
819 Name: 名称未設定 [sage] Date: 2005/07/29(金) 21:33:30 ID: t3GGmpvT Be:
CocoaっつーかXcodeの質問なんですけど・・・

Document-basedアプリケーションをビルドして実行しようとすると
アプリケーションが起動せずにXcodeの中にドキュメントウインドウが開くんですが、
これは何ででしょうか?

いままではこんなことなかったのですが・・・
820 Name: 名称未設定 [sage] Date: 2005/07/29(金) 22:34:51 ID: UnEUk3DA Be:
>>819
その画面キャプチャしてupしてみせろ
821 Name: 名称未設定 [sage] Date: 2005/07/29(金) 23:08:56 ID: t3GGmpvT Be:
すみません、キャプチャしようと思ってXcodeを再起動させたら治りました。
どうもすみませんでした。
822 Name: 名称未設定 [sage] Date: 2005/07/30(土) 01:24:17 ID: +1S+VDV2 Be:
バグったら
 なにはなくとも
  再起動
823 Name: 名称未設定 [sage] Date: 2005/07/30(土) 01:48:10 ID: rwHYafP/ Be:
付属のサンプルコードの「CircleView」で、
startAnimation:の中で最初にstopAnimation:を呼んでるのはなぜですか?
824 Name: 名称未設定 [sage] Date: 2005/07/30(土) 01:52:16 ID: IBU7ym7V Be:
処理が二重に始まったら困るからじゃないのか。
普通に考えて。
825 Name: 名称未設定 [sage] Date: 2005/07/30(土) 01:58:03 ID: rwHYafP/ Be:
現在回っているのにstartAnimation:が呼び出されるということがあり得るのでしょうか?
826 Name: 名称未設定 [sage] Date: 2005/07/30(土) 02:10:35 ID: rwHYafP/ Be:
startAnimation:の冒頭に

if (timer)
 NSLog(@"sex");

と入れていろいろ操作してみましたが、sexと出ませんし。
827 Name: 名称未設定 [sage] Date: 2005/07/30(土) 03:03:44 ID: +1S+VDV2 Be:
念のため
828 Name: 819 [sage] Date: 2005/07/30(土) 09:34:32 ID: s1t5N8dN Be:
>>819です。すみません、またなりました。今回は再起動しても無理っぽいです。

キャプチャ:http://up-n.mydns.jp/src/up1146.png
829 Name: 名称未設定 [sage] Date: 2005/07/30(土) 10:42:34 ID: HkHcFJnl Be:
>>828
あーDocument-basedじゃないアプリだけど俺もなったことある
大抵再起動したら直ったけど。
とりあえずxcode2.1にした方が良いと思いますよ
830 Name: 名称未設定 [sage] Date: 2005/07/30(土) 15:49:58 ID: +1S+VDV2 Be:
鉄ちゃんの予感!
831 Name: 名称未設定 [sage@規制中] Date: 2005/07/31(日) 12:16:31 ID: 98t1vGSB Be:
>>829
とりあえず、2回再起動したら治りました。ありがとうございます。
でもこんなのが毎日起きたらやだなぁ・・・

>>830
そんな細かいところまで見ナイデw
832 Name: 名称未設定 [sage] Date: 2005/07/31(日) 13:03:42 ID: Argl6YtQ Be:
>>831
毎日でもないけど俺の環境だと結構頻繁になってた気がするなぁ
2.0はなんか不安定だった印象
2.1にはしたくないの?Xcodeやらgcc4.0のバグフィックスされてるよ
833 Name: 831 [sage] Date: 2005/07/31(日) 20:55:21 ID: 3pl0dhIm Be:
>>832
いえ、Pantherなんで2.1にできないんです・・・
834 Name: 名称未設定 [sage] Date: 2005/07/31(日) 21:05:48 ID: 3aWuWOYZ Be:
>>833
とりあえず初期設定とか捨ててみたら?
基本的な事はもうすでにやってるとは思うが...。
すでにやってみた対策を書けば、もっと
具体的な対処方法が出てくるかもよ。
835 Name: 名称未設定 [sage] Date: 2005/07/31(日) 21:14:07 ID: XWbUAKrY Be:
>833
2.1 にできないにしても 1.5 にしてる?
スクリーンショットだけじゃ Xcode のバージョンがちょっと
わからないけど。まさか 1.0 のままってことはないよね?
836 Name: 831 [sage] Date: 2005/07/31(日) 21:56:33 ID: 3pl0dhIm Be:
>>834
とりあえず、最初はプロジェクトに問題があるのかと思って
ターゲットのクリーニングをしてみたりしたけど効果無し。
新規プロジェクトをそのままビルドしてもなる時もある。
あと、他の作業(Xcode以外のアプリ)をしてるといつの間にか治っていたりする時もある。
再起動は治ることもあるけど治らないこともある。

>>835
実はまだ1.1です…
ハードディスクの残り容量があと593MBしかないんですけど
アップデートできますかね?
837 Name: 名称未設定 [sage] Date: 2005/08/01(月) 00:07:20 ID: 06MGIlTD Be:
>>836
ディスクは大して食わないが、ダウンロード中にdisk fullになるかも…
エロいムービーやら画像をどっかにやるのが先だな。
838 Name: 名称未設定 [sage] Date: 2005/08/02(火) 12:33:26 ID: ivpgqzbE Be:
>>815
良くやった。
839 Name: 831 [sage どうもありがとうございました] Date: 2005/08/02(火) 14:15:08 ID: 6sDmPtbl Be:
とりあえず、でっかいファイル達をどうにかして
ディスクに余裕ができたら1.1入れます…
840 Name: 名称未設定 [sage] Date: 2005/08/02(火) 22:51:41 ID: 8sIYlADS Be:
>815
投票したいけど、これ投票して復刊決まったら購入義務あるっぽいね
少し前にアマゾンで財布はたいて古本買ったからもう一冊買うのは流石にきつい……応援だけしまつノシ
841 Name: 名称未設定 [sage] Date: 2005/08/02(火) 23:33:11 ID: 8D8Jrgfk Be:
萩原本が名古屋のビックに売ってたから買ってきた。
中々面白い本だね。
842 Name: 名称未設定 [sage] Date: 2005/08/03(水) 12:01:48 ID: F/lZrGCd Be:
おいらもAmazonでプレミア付いたの買ってしまった。
探し回るよりいいから納得してるけど。
というか、もうAmazon無しでは生活できん。
843 Name: 名称未設定 [sage] Date: 2005/08/03(水) 13:55:46 ID: Dg3dCBIa Be:
>>840
復刊ドットコムの投票は購入義務無いよ?
844 Name: 名称未設定 [sage] Date: 2005/08/06(土) 12:52:12 ID: Qp6+5zdK Be:
ho
845 Name: 名称未設定 [] Date: 2005/08/06(土) 18:52:08 ID: iKmI/2Eh Be:
  
846 Name: 名称未設定 [sage] Date: 2005/08/08(月) 21:31:04 ID: 3JMjwqv4 Be:
mouseMoved:をNSViewで使用することはできませんか?
setAcceptsMouseMovedEvents:がNSWindowでしか用意されていないようで。。

mouseEntered:と一緒に使いたいのですが、
こっちはaddTrackingRectがNSViewにしか用意されていないようで。。
847 Name: 名称未設定 [sage] Date: 2005/08/09(火) 00:10:11 ID: pB8o6jeO Be:
>>846
何をしようとしてるのか分からないので、うまく答えられませんが
NSWindowのsetAcceptsMouseMovedEventsで
NSViewにイベント来ますよ。
848 Name: 名称未設定 [sage] Date: 2005/08/11(木) 02:35:09 ID: CD/IXRxf Be:
Objective-C/Cocoaの連載 キタ━━━━(゚∀゚)━━━━!!
http://pcweb.mycom.co.jp/column/objc/001/
著者はmkino氏
849 Name: 名称未設定 [sage] Date: 2005/08/11(木) 03:25:06 ID: fV0cGYcd Be:
お~ mkino 氏! 早速 class-dump インストールしました
850 Name: 名称未設定 [] Date: 2005/08/11(木) 23:07:34 ID: dymLvcq9 Be:
CocoaでのNSAppleScriptの制御について質問です。
thePathに日本語を含むPOSIXパスを渡すと文字化けが発生して認識できません。
正しく認識するにはどうしたら良いでしょうか?


NSDictionary* error = nil;
id source = [NSString stringWithFormat:
@" ¥n¥
tell application ¥"iTunes¥" ¥n¥
play POSIX file ¥"%@¥" as alias ¥n¥
end tell ¥n¥
", thePath];

id as = [[[NSAppleScript alloc] initWithSource: source] autorelease];
[as executeAndReturnError: &error];
851 Name: 名称未設定 [sage] Date: 2005/08/11(木) 23:19:16 ID: z0CLJFPW Be:
>>850
NSPathUtilities.h
[NSString fileSystemRepresentation]

かな?
852 Name: 名称未設定 [] Date: 2005/08/12(金) 01:02:02 ID: PqrnpewI Be:
>>851
それだと通らないようです。
853 Name: 名称未設定 [sage] Date: 2005/08/12(金) 01:27:18 ID: p1j26+7N Be:
>>852
%@ を %s に変えた?
854 Name: 名称未設定 [] Date: 2005/08/12(金) 01:51:18 ID: PqrnpewI Be:
>>852
最初stringWithCStringでやりましたが%sの方でも試しましたところ駄目でした。
855 Name: 名称未設定 [sage] Date: 2005/08/12(金) 19:39:48 ID: 7Jf/36Fn Be:
>>850
IPCやオブジェクトモデルを理解する良い機会
遠回りで遅くて不安定な方法は止めて、自分でAppleEventを作って送りませう。
856 Name: 名称未設定 [sage] Date: 2005/08/12(金) 23:38:13 ID: mp3y7lXe Be:
>>850
stringWithUTF8Stringを使ってみ。
857 Name: 名称未設定 [sage] Date: 2005/08/12(金) 23:59:18 ID: onYnoqwP Be:
@""の中の%sはデフォルトのエンコーディング(日本ならSJIS)が期待されてるから
stringWithCString: でいいのでは
858 Name: 名称未設定 [sage] Date: 2005/08/13(土) 11:11:26 ID: Yw0P+hAZ Be:
stringWithCStringはdeprecated。
859 Name: 名称未設定 [sage] Date: 2005/08/13(土) 12:31:21 ID: HsZzCByI Be:
>>850
%@ を %s にして、
 cString
または
 cStringUsingEncoding:[NSString defaultCStringEncoding]
で行けたはず。

それとは別に、パス文字列からエイリアスの変換は
  set A to (("/Applications/Utilities" as Unicode text) as POSIX file)
  tell application "Finder" to set A to A as alias
と書いたほうが失敗しなかったように記憶してる。細かい理由は忘れた。
860 Name: 名称未設定 [sage] Date: 2005/08/13(土) 18:01:07 ID: UEiwJjwn Be:
851さんが書かれているように、フルパスの入ったNSStringのインスタンスに
fileSystemRepresentationを送る(結果はC文字列)のが作法としては正しいような
気がします。
861 Name: 名称未設定 [sage] Date: 2005/08/13(土) 18:06:29 ID: s2wVO25x Be:
>>855が書いて通りした方が早いし確実だと思いますが。
862 Name: 名称未設定 [sage] Date: 2005/08/13(土) 23:17:22 ID: UjgvpMOj Be:
むむぅ さっぱり分からん。これ応用したら
http://www.pyehouse.com/lynn/termopen.php
を日本語のフォルダも通るようにできるよなぁ
といってみるテスト。
863 Name: 350 [] Date: 2005/08/15(月) 11:52:19 ID: ldACQzcO Be:
>>stringWithUTF8Stringを使ってみ。
渡したい文字列が fileSystemRepresentation のCStringなのであわないようです。

>>cString
>>cStringUsingEncoding:[NSString defaultCStringEncoding]
英語環境で日本語のファイル名を扱おうとする時に不具合がありました。

>>set A to (("/Applications/Utilities" as Unicode text) as POSIX file)
>>tell application "Finder" to set A to A as alias
この方法で確かに渡した文字列が勝手に変換されて文字化けになる事が減りましたが、
ある特定の文字を含む文字列は、なぜかまた勝手に変換されてしまうようです。

>>遠回りで遅くて不安定な方法は止めて、自分でAppleEventを作って送りませう。
この方法がベストでした。みなさんどうもありがとうございます。
864 Name: cocoan [age] Date: 2005/08/16(火) 15:11:46 ID: 618uCiBf Be:
実行ログの内容についての質問です。
以下のコードを書いて、強制的にエラーログを表示させました。
~~~~~~~~~~~~~~~~~
@implementation MyWindow

- (void)awakeFromNib
{
char* p = NSZoneMalloc([self zone], 128);
NSZoneFree([self zone], p);
NSZoneFree([self zone], p);
}
@end

~~~~~~~~~~~~~~~~~
上記のプログラムでは、Mallocしたメモリーを2回フリーしています。
このとき吐き出されたエラーログが次のとおりです。
~~~~~~~~~~~~~~~~~
TableTest(563) malloc: *** error for object 0x34cb50: double free
TableTest(563) malloc: *** set a breakpoint in szone_error to debug
~~~~~~~~~~~~~~~~~
TableTestというのがテストアプリの名前なんですが、
TableTest(563)という表示の「563」とは何をさしているのかが分かりません。
また、エラーログからソース上でどこが問題の箇所かどうか
見つける方法と言うのはあるのでしょうか?
基本的な質問で済みませんが、ご存知の方、ご教授よろしくお願いいたします。
865 Name: 名称未設定 [sage] Date: 2005/08/16(火) 15:58:46 ID: AlBpiXOk Be:
>>864
pid

ちゃんと macosx-dev-jp ML で謝っとけよ。
866 Name: cocoan [age] Date: 2005/08/16(火) 16:52:34 ID: 618uCiBf Be:
すんません>>865
867 Name: 名称未設定 [] Date: 2005/08/16(火) 21:41:42 ID: k/KL+vcZ Be:
Objective-Cのメモリ管理について質問です。

ヘッダファイル
@interface MyObject : NSObject
{
id hoge;
}
@end

ソースファイル
@implementation MyObject
- (void) dealloc;
{
[hoge release];
[super dealloc];
}
@end

この場合hogeは一度もretainされたりinitされたりしていませんが
初期化/メモリ確保されていない状態で[hoge release]を発行するのは良くないのでしょうか?
基本的な事で恐縮ですが宜しくおねがいいたします。
868 Name: 名称未設定 [sage] Date: 2005/08/16(火) 21:58:26 ID: KVd3aTcG Be:
hoge == NULLであれば問題ないんじゃない?
NULLにはメッセージは送られないそうだし。

個人的には、リリースした後にはNULLを入れるのが好みです

- (void) dealloc;
{
if(hoge != NULL)
{
[hoge release];
hogre = NULL;
}

[super dealloc];
}
869 Name: 名称未設定 [sage] Date: 2005/08/16(火) 22:06:03 ID: njRSPvDq Be:
>>867
[MyObject alloc]でインスタンス変数hogeが0(nil)で初期化されてる。
nilに対するメッセージは何にもしないのでOK。
870 Name: 名称未設定 [] Date: 2005/08/16(火) 22:43:29 ID: k/KL+vcZ Be:
>>868様、869様
ご指導いただきありがとうございます。
nilとして扱う事ができるんですね。場合によっては一部のidを初期化しない事があるのでこれは便利。
871 Name: 名称未設定 [sage] Date: 2005/08/17(水) 00:42:01 ID: J+xHstm4 Be:
>>868
dealloc で NULL (つーか nilだろ) を代入するのは無意味で無駄。
872 Name: 名称未設定 [sage] Date: 2005/08/17(水) 02:03:38 ID: Rdfbox3D Be:
JPEG画像をフルスクリーン表示する方法おしえて・・・
873 Name: 名称未設定 [sage] Date: 2005/08/17(水) 02:08:35 ID: Ky4Sb7Ei Be:
1) JPEG画像を読み込む。
2) フルスクリーンで表示する。
以上です。
874 Name: 名称未設定 [sage] Date: 2005/08/17(水) 02:13:57 ID: Rdfbox3D Be:
わろすわろすwww
875 Name: 名称未設定 [sage] Date: 2005/08/17(水) 02:18:42 ID: Ky4Sb7Ei Be:
フルスクリーンはここら辺か
ttp://cocoadevcentral.com/articles/000028.php

JPEGはググってね。
876 Name: 名称未設定 [sage] Date: 2005/08/17(水) 02:21:33 ID: Ky4Sb7Ei Be:
JPEGはここの8回目位からどうよ
中身確認してないからわからんよ
ttp://www.remus.dti.ne.jp/~yoshiki/cocoa/ed1/
877 Name: 呱々庵 [age] Date: 2005/08/17(水) 02:25:04 ID: QTmBXnRr Be:
NSWindowをinitWithContentRect:styleMask:backing:defer:
で初期化生成する場合に、backingを指定しますが
3種類あるモード(NSBackingStoreBuffered, NSBackingStoreRetained, NSBackingStoreNonretained)
は具体的にどういった場合に使い分けをするのでしょうか?
それぞれのモードはDisplay Bufferを経由して画面表示するか
直接画面に描画するかのモードの切り分けということは分かるのですが
どういうときに、どれを使うのかが分かりません。
ご存知の方、どうか宜しくお願いいたします。
878 Name: 名称未設定 [sage] Date: 2005/08/17(水) 02:55:37 ID: Rdfbox3D Be:
>>875-876
ありがとう。英語苦手だけど、がんばって読んでみます。
>>876の方はすでに確認済みでした。
879 Name: 名称未設定 [sage] Date: 2005/08/17(水) 03:03:26 ID: Ky4Sb7Ei Be:
ttp://www.big.or.jp/~crane/cocoa/top.html
「フルスクリーン表示のサンプル」

ズバリそのままあった...orz
もう見てないか。。。
880 Name: 名称未設定 [sage] Date: 2005/08/17(水) 03:09:51 ID: Rdfbox3D Be:
>>879
見てますよ。

3日ほど前からCocoaとObjective-Cの勉強を始めたばかりなので、
「Cocoaはやっぱり」や>>876の「Cocoaでいこう! Macらしく」あたりの
初心者の勉強向けと思われるサイトはひととおり巡ってます。

そんなわけで、>>879も既に確認済みだったわけなんですが、
自分がやりたいと思っているのはそういうのとはちょっと違うんですよね・・・
画面だけをフルスクリーンにするんじゃ駄目で、
画像もそれにあわせてフルスクリーンにしたいので。

ともかくいろいろありがとうございました。
881 Name: 名称未設定 [sage] Date: 2005/08/17(水) 03:49:20 ID: Ky4Sb7Ei Be:
>>877
ttp://www.naotokui.com/prog/archives/2003_11.html
882 Name: 名称未設定 [sage] Date: 2005/08/17(水) 03:56:13 ID: Ky4Sb7Ei Be:
上記の内容と後、ADCの"Windows and Panels"なんか見ると

but their results do get to the screen more quickly than those of buffered windows.

なんて書いてあるんでゲームなんかで高速な書き換えが必要なら
retainedかnonretained使えって事じゃないですかね。
恐らくですけど。。。
883 Name: 名称未設定 [sage] Date: 2005/08/17(水) 04:57:10 ID: J+xHstm4 Be:
>>880
-drawInRect:fromRect:operation:fraction:
884 Name: 名称未設定 [] Date: 2005/08/17(水) 14:16:05 ID: 2d95EYSf Be:
自作Cocoaアプリの簡単なヘルプを書こうかと思っています。
いまのところOSXに付属のスティッキーズのヘルプが簡単そうなのでまねてみようと思います。
しかしスティキーズ.appのパッケージの中にヘルプファイルが置かれていません!

どこにリンクされているのでしょうか。
885 Name: 名称未設定 [sage] Date: 2005/08/17(水) 14:20:27 ID: eHCv7liq Be:
くだらんネタだな、おい。
886 Name: 名称未設定 [sage] Date: 2005/08/17(水) 14:52:10 ID: 5hZU36P4 Be:
>>884
パッケージの中にちゃんとあるだろ、よく見ろ。
ちなみにヘルプの作り方は

ttp://homepage.mac.com/harawo/tipsHelp.html

ここが詳しい。
887 Name: 呱々庵 [age] Date: 2005/08/17(水) 15:04:23 ID: QTmBXnRr Be:
>>881 >>882

情報ありがとうございます。
ゲーム等の高速な書き換えが必要な場合や、メモリーが切迫した状況等でなければ
NSBackingStoreBufferedを使用することで問題なさそうですね。
888 Name: 名称未設定 [] Date: 2005/08/17(水) 16:15:07 ID: 2d95EYSf Be:
>>886
>パッケージの中にちゃんとあるだろ、よく見ろ。

もう一度念入りにパケージの中身を参照しましたが本当にどこにもヘルプフォルダがありませんでした。
他のOSX標準アプリケーションはちゃんとアプリケーションパッケージ内にあるのですがスティッキーズは何故か見当たりません。
889 Name: 名称未設定 [sage] Date: 2005/08/17(水) 16:37:09 ID: GQFKituz Be:
>>888
ん?バージョンが違うのか?
オレのはMac OS X 10.4.2付属のスティッキーズ5.1.0だが
Contents>Resources>各.lproj内に、StickiesHelpがあるぞ。
890 Name: 名称未設定 [sage] Date: 2005/08/17(水) 23:48:15 ID: 1aIoUSiF Be:
ないみたいだねえ@10.3.9
891 Name: スティッキーズのヘルプ [sage] Date: 2005/08/17(水) 23:52:23 ID: 2d95EYSf Be:
>>890
そうなんですよ。Pantherだと見つからない。
一応、Library/Documents/HelpやらSysytem/Libraryやらを
CFBundleHelpBookFolder」に指定されている名前で
検索したのですがなぜか引っかからないんです。
892 Name: 名称未設定 [sage] Date: 2005/08/17(水) 23:53:32 ID: Ky4Sb7Ei Be:
10.3.9でなら
/Library/Documentation/Help/MacHelp.help/Contents/Resources/Japanese.lproj/pgs/
に含まれとる
ax_stky.htmlとstk2.htmlからstk20.html
MacHelpの一部になっとるな。
893 Name: 名称未設定 [sage] Date: 2005/08/17(水) 23:55:56 ID: 2d95EYSf Be:
>>892
どうもありがとう!なぞが解けました。
894 Name: 名称未設定 [sage] Date: 2005/08/18(木) 20:10:04 ID: 7oK8N7Uc Be:
大昔のNeXTの記事
ttp://k-kura.net/upload/src/k-kura.net0294.zip
895 Name: 名称未設定 [sage] Date: 2005/08/18(木) 20:20:00 ID: OSz+hZSD Be:
http://pcweb.mycom.co.jp/column/objc/002/
第2回
Objective-Cの動的型付け
896 Name: 名称未設定 [sage] Date: 2005/08/18(木) 23:00:44 ID: dWh03gv5 Be:
>>894

GJ!!
アスキーの記事か・・・懐かしいね(´ー`)y-~~
897 Name: 名称未設定 [] Date: 2005/08/19(金) 23:22:30 ID: ilkGC02Y Be:
こんばんわ。
本購入の指南をお願い致します。

趣味レベルですがObjective-Cでcocoaアプリを作りたいと思っています。
仕事でC、Javaでのプログラムの経験がありオブジェクト指向もそれなりに
分かります。

この度、XCodeを使用してcocoaアプリを趣味で作ろうとしたのですが、
ファイルの構成や意味、XCodeの使い方がいまいち分かりません。
また、こういうGUIを作りたいなと思っても実現方法が分かりません。

その辺りが分かればクラスの使い方等はドキュメントを見ればなんとかなりそうなのですが、
現在、それ以前の段階なのでドキュメントを見てもちょっと良く分からない状態です。

そこで、本を買って勉強したいのですがどの本が適していますでしょうか?
一応今の所下記の本が候補にあがっていますが他の本がありましたら紹介頂けたらと思います。
日本語希望です。

・Happy Macintosh Developing
 http://www.amazon.co.jp/exec/obidos/ASIN/4861001242/qid=1124460150/sr=1-3/ref=sr_1_10_3/249-3478055-2918704
・Mac OS X Cocoaプログラミング
 http://www.amazon.co.jp/exec/obidos/ASIN/489471440X/qid=1124460323/sr=1-1/ref=sr_1_10_1/249-3478055-2918704
・Xcodeプログラミング入門
 http://www.amazon.co.jp/exec/obidos/ASIN/4839913579/qid=1124460362/sr=1-3/ref=sr_1_10_3/249-3478055-2918704
・はじめてのMacOS X Cocoaプログラミング
 http://www.amazon.co.jp/exec/obidos/ASIN/4898143156/qid=1124460377/sr=1-10/ref=sr_1_10_10/249-3478055-2918704
・入門Cocoa
 http://www.amazon.co.jp/exec/obidos/ASIN/4873110769/qid=1124460377/sr=1-4/ref=sr_1_10_4/249-3478055-2918704

どうかよろしくお願いします。
898 Name: 名称未設定 [sage] Date: 2005/08/19(金) 23:51:42 ID: PIRv2tBl Be:
>>897
本を買うんなら Xcode 以前の本だが2番目を推したい。
Xcode の使い方なんぞは弄ってるうちに分かるし、
だとすれば Cocoa プログラミングの思想に触れることができる方が後々有意義だ。

2番目>1番目>5番目>>4番目>>>>>>>>>>>>3番目
くらいの順で買う価値がある。
他の本は知らない。
899 Name: 897 [] Date: 2005/08/20(土) 00:23:17 ID: e4OuaAWu Be:
>>898
レスありがとうございます。

> Xcode の使い方なんぞは弄ってるうちに分かるし、

全くその通りです。そこに紙面が割かれて高くなるんだったら
なくてもかまいません。

> だとすれば Cocoa プログラミングの思想に触れることができる方が後々有意義だ。

こちらも全くその通りですね。
基本を押さえたいと思っていましたので、
2番目の本をチェックしてみます。

非常に参考になりました。ありがとうございます。
900 Name: 名称未設定 [sage] Date: 2005/08/20(土) 00:31:17 ID: QS0MwUet Be:
>>897
3番目の本は買う価値なんか全然ないぞ。
901 Name: 897 [sage] Date: 2005/08/20(土) 00:34:00 ID: e4OuaAWu Be:
>>900

3番目の本(「Xcodeプログラミング入門」)は
そんなにだめなんですか。
898さんもそう言われてますし。

名前的にはよさそうだと思っていたんで
お聞きして助かりました。

902 Name: 名称未設定 [sage] Date: 2005/08/20(土) 01:30:45 ID: QS0MwUet Be:
>>901
ここの板のプログラム関連スレを読めばかの本の批評は出てくるけど、
いいという香具師は一人もいない。会社で予約して買ったけど、まったくの
金の無駄だった。
903 Name: 名称未設定 [sage] Date: 2005/08/20(土) 07:55:17 ID: NpsE7JpP Be:
ちゃんと理解したければ
http://www.amazon.co.jp/exec/obidos/ASIN/4877780688/250-2586378-5591420
をどうにかして手に入れたほうが良い
絶版だけど
904 Name: 名称未設定 [sage] Date: 2005/08/20(土) 10:00:00 ID: lnNwyPKp Be:
Cocoa+Objective-cでCGIを作りたいと思い、
ttp://www.halbiz.com/osaru/archives/cat_eoe.html
を参考にしようと思ったのですが、perlでいう環境変数って
どのように取り出したらよいでしょう?
具体的にはcookieのやりとりをしたいと思います。

標準出力とかは[NSFileHandle fileHandleWithStandardOutput]で
良さそうなのはわかったのですが・・・。
905 Name: 名称未設定 [sage] Date: 2005/08/20(土) 10:18:36 ID: svxAI1qH Be:
>>904
getenv(3)
environ(5)
906 Name: 904 [sage] Date: 2005/08/20(土) 10:37:50 ID: lnNwyPKp Be:
なんかそっちの環境変数は別物のような気がするのです・・。
HTTP_COOKIEを取り出したいんですが、それでいけますか?
907 Name: 名称未設定 [sage] Date: 2005/08/20(土) 11:02:37 ID: MWbluaXs Be:
>>906
やってみればいいじゃん。同じだと思うよ。環境変数って普通同じものを
さすので。
908 Name: 907 [sage] Date: 2005/08/20(土) 11:29:45 ID: MWbluaXs Be:
やってみた所、getenvでそれっぽいのが表示されたよ。
909 Name: 名称未設定 [sage] Date: 2005/08/20(土) 13:59:39 ID: e4OuaAWu Be:
エラー発生時に例外情報を表示して、
送信を促すダイアログって簡単に作れませんか?
910 Name: 名称未設定 [] Date: 2005/08/20(土) 14:14:10 ID: 2TwDzMjG Be:
>>909
それ系のフレームワークがなかったっけ?
911 Name: 名称未設定 [sage] Date: 2005/08/20(土) 14:58:30 ID: MWbluaXs Be:
今の所Appleの開発環境だけではそういうことはできなかったよね。
サードパーティーのフレームワークを使えばできるらしい。
http://homepage3.nifty.com/kimuraw/misc/crashreporter.html

ILCrashReporterはたしかに簡単そうだ。
912 Name: 名称未設定 [sage] Date: 2005/08/20(土) 15:41:37 ID: iGuorXO8 Be:
>>898
四番目の本でCocoa覚えた俺の立場は(´・ω・`)
913 Name: 名無し募集中。。。 [sage] Date: 2005/08/20(土) 18:09:25 ID: 7VG36rT5 Be:
萩原本でObjective-Cはだいたい理解したけど、
Cocoaについてもっと知りたいので今ヒレガス本注文しました。
914 Name: 名称未設定 [sage] Date: 2005/08/20(土) 18:10:08 ID: 7VG36rT5 Be:
名前欄ミスった。。。
915 Name: 名称未設定 [sage] Date: 2005/08/20(土) 18:27:35 ID: HEi3CGBA Be:
>>898
Cocoaの入門書であれば、2番目と4番目をお勧めする。
5番目は書籍として少々読み難い。
1番目も読み難いが、中級者向けの資料としては意味があるかも。
3番目は問題外。

916 Name: 名称未設定 [sage] Date: 2005/08/20(土) 19:06:14 ID: pQKzrt+U Be:
>>897さんと近いですが、私もこれからcocoaの勉強を始めようと思い
こちらのスレをROMしてますが、C言語をほんの少しかじっただけな
の状態なんで>>903さんが紹介されている本を先ず手に入れ習得後
2番目の本へ進む方が良いのでしょうか?
当方以前VB4はお遊び程度組んでいた事があります。
御教授お願いします。
917 Name: 名称未設定 [sage] Date: 2005/08/20(土) 19:36:59 ID: AnBNhwsQ Be:
遊びで使う程度だったら
Webの文書あさるだけでも十分って気もする。
918 Name: 名称未設定 [sage] Date: 2005/08/20(土) 20:04:03 ID: pQKzrt+U Be:
「cococaはやっぱり」で入門編は勉強しましたが、その後からの
例題等がいきになりレベルが高そうで・・・
何か足ががりになるサイトが有れば教えて下さい。
919 Name: 903 [sage] Date: 2005/08/20(土) 21:31:56 ID: KXdh5w/F Be:
>>916
これはあくまでも自分の体験だけど
>>903よりも>>898を先の方が良いと思う
Obj-Cの基本は>>898の上位四冊ならどれでも学べるよ
それで一通り学んだ後に>>903を読むと、より深いところが理解できる

おれは>>903を最初に読んだけど具体的なことがよくわからなくって、
次に「はじめてのMacOS X Cocoaプログラミング」読んでそれらしいものが作れるようになって、
改めて>>903を読んだら「なるほど、よくわかった」と感動したクチです
920 Name: 名称未設定 [sage] Date: 2005/08/20(土) 23:12:50 ID: pQKzrt+U Be:
>>919
レス有り難うございます。そうですか、>>898にて紹介されて
いる本での勉強が先なんですね。
更に奥深く勉強するんで有れば>>903での勉強を行う事で
一度検討してみます。
親切に有り難うございました。
921 Name: 897 [sage] Date: 2005/08/20(土) 23:57:24 ID: jBDYx5c4 Be:
今日2番目の本を立ち読みして、
ターゲットがあっていたのと僕が知りたいことが書いてあったので
早速購入しました。

ちなみに、>>903はObjective-Cに興味があったので、
以前手に入れて大体読みました。

その後、Cocoaを作成したくなり、オンラインドキュメントでどうにかなるかなと
思っていたのですが、ならなくて今に至った次第です。

「Cocoaはやっぱり」に関しては、>>918さんと同意見です。

しかし、2番目とか分かりにくいですね。
922 Name: 名称未設定 [sage] Date: 2005/08/21(日) 00:39:49 ID: 1geYDtzF Be:
HMDTだけで十分。てかほとんどAppleの文献の日本語訳みたいなもんだし。
だいたいの様子をつかんでから、英語のドキュメント嫁ばよろしい。
あとサンプルコードのコメント。別に辞書使うなとか言ってないし。
923 Name: 名称未設定 [sage] Date: 2005/08/21(日) 00:48:19 ID: DPjpG/ok Be:
・Mac OS X Cocoaプログラミング
 http://www.amazon.co.jp/exec/obidos/ASIN/489471440X/
・Happy Macintosh Developing Time
 http://www.amazon.co.jp/exec/obidos/ASIN/4861001242/
・入門Cocoa
 http://www.amazon.co.jp/exec/obidos/ASIN/4873110769/
・はじめてのMacOS X Cocoaプログラミング
 http://www.amazon.co.jp/exec/obidos/ASIN/4898143156/

この順番に読み進めていけばいいってことか。
924 Name: 名称未設定 [sage] Date: 2005/08/21(日) 00:55:27 ID: DPjpG/ok Be:
>>922
HMDTってそんなにいいかなあ?
初心者向けを謳っているけれど、
本当の初心者じゃ、読んでも理解できないという印象。
なんかいろいろ前提となっている知識が無いと利用できないというか・・・

オブジェクト指向言語自体初めての俺には無理があった。
GUIもX11のXlibしか使ったこと無かったし。まあそれは関係ないか。
925 Name: 名称未設定 [sage] Date: 2005/08/21(日) 00:56:09 ID: ma/2DmMB Be:
HMDT以外のどれか一冊で十分だろ
926 Name: 名称未設定 [sage] Date: 2005/08/21(日) 01:09:22 ID: 4ugMOVPZ Be:
>>924
私はCも全く知らんかったけどHMDT読んでcocoaアプリ作れるようになりましたよ。
perlで遊んでたことはあったけど。
927 Name: 名称未設定 [sage] Date: 2005/08/21(日) 01:22:57 ID: DPjpG/ok Be:
>>926
そうなんだ。俺はHMDTじゃ駄目だと感じたので、
ネットで検索して
http://www.big.or.jp/%7Ecrane/cocoa/
http://www.remus.dti.ne.jp/%7Eyoshiki/cocoa/ed1/index.html
http://www.oomori.com/cocoafw/index.html
http://homepage.mac.com/mkino2/cocoaProg/index.html
あたりを参考にして勉強した。んで、1週間ちかくもかかったけど、
前から作りたいと思ってた簡単な(あくまで自分用の)アプリは作れました。

しかしXcodeの使い方についてはともかく、
Objective-Cについてはこれでいいのかどうなのか・・・
一応意図した通りに動いているし、Warningも出ないけど、
やっぱちゃんと本買って勉強した方がいいのかなあと思ってます。
928 Name: 916 [sage] Date: 2005/08/21(日) 01:52:15 ID: 4hUxD1L8 Be:
皆さん色々とアドバイス有り難うございます。
本と、教えて頂いたpageを参考に色々と試行錯誤して
みます。
また困った時は宜しくです。
929 Name: 名称未設定 [sage] Date: 2005/08/21(日) 09:38:11 ID: D2kguxJ1 Be:
>>923
あえてどれかを選ぶとすると、俺はヒレガス本(一番上)かな
基本的にどれも似たり寄ったりなので入門の用途ではどれか一冊読めば十分でしょ
930 Name: 名称未設定 [sage] Date: 2005/08/21(日) 13:26:30 ID: 4ugMOVPZ Be:
>>927
あ、もちろん私もネットで検索して色々見ましたよ。
というか最初見に行ったのがここですから
ttp://www.nmn.jp/~hidai/c/
ttp://homepage1.nifty.com/toshio-k/prog/c/pointer.html
次にHMDT本を読みながら書いてあるコードを打って(足りない部分はコピペで)作っていきました
そしてHMDT本や>>927のサイトやその時々に必要なものを検索しながらオリジナルのものを。
ttp://wwwa.dcns.ne.jp/~nito/CocoaClub/もよく読みましたね
初心者…というか何も知らない素人がHMDT本「だけ」で作ってくのは難しいのは同意です。
cocoaはやっぱり!本のXcode対応版がもしあれば素人向けには良さそうなんですが

あと、仕事じゃないんですし動けば良いんですよ。自分用なら特に。
プログラムは手段であって目的ではないんですし。
まぁプログラムが目的(趣味とかスキルアップ)って事もあると思いますが…その場合はまぁ…好きでやるから悩む必要ないですし
931 Name: 名称未設定 [sage] Date: 2005/08/21(日) 15:07:02 ID: Ktuo0fAG Be:
ある程度コードが書けるようになったら、オープンソースな
アプリのソースを眺めてみましょう。いい勉強になりますよ。
932 Name: 名称未設定 [sage] Date: 2005/08/21(日) 23:42:46 ID: 1Auzn2O/ Be:
iCalのカレンダー部分のような画面を作成したいのですが、
どのビューをもとにすればいいでしょうか?

等間隔のセルに区切って、内容の表示等、クリックイベントを受け付けたり
セルをまたいだイベントの表示のような表示をしたいです。
933 Name: 916 [sage] Date: 2005/08/22(月) 00:14:47 ID: 5C5zNugQ Be:
>>931
有り難うございます。ソースコードに至までの道は険しいですが
頑張ってみます。
934 Name: 名称未設定 [sage] Date: 2005/08/22(月) 00:42:08 ID: V50aqF00 Be:
A.mで作ったクラスをB.mで使うにはどうすればいいんでしょうか?
935 Name: 名称未設定 [sage] Date: 2005/08/22(月) 01:01:05 ID: 2+Yl08VL Be:
#import "A.h"
936 Name: 名称未設定 [sage] Date: 2005/08/22(月) 01:07:36 ID: V50aqF00 Be:
ヘッダファイルを読み込めば良かったのかーッ!!
ありがとうございました!
937 Name: 名称未設定 [sage] Date: 2005/08/22(月) 07:22:38 ID: 5CbJqyAr Be:
>>932
NSControllerのサブクラスに自作セルを張り付けて行くんじゃない?
セルの用途によってはNSViewのサブクラスでもいいかもしれないけど。
938 Name: 名称未設定 [sage] Date: 2005/08/22(月) 10:53:50 ID: cMkr62B1 Be:
>>932
ADCにCalendarViewってサンプルコードがある。
939 Name: 名称未設定 [sage] Date: 2005/08/22(月) 13:12:06 ID: waxZW/DC Be:
>>924
洩れも同感。
HMDTはお薦めできない。
内容が初心者向けで無い事もあるけど、そもそも文章が読み憎い。
940 Name: 名称未設定 [sage] Date: 2005/08/22(月) 13:15:50 ID: waxZW/DC Be:
ヒレガス本は第二版が出てるのだけど、翻訳されないのかなぁ。
http://www.amazon.co.jp/exec/obidos/ASIN/0321213149/
941 Name: 名称未設定 [sage] Date: 2005/08/22(月) 22:35:32 ID: a05L8pO5 Be:
こないだ荻原本の新刊を池袋のジュンク堂で買ってきた。
自由価格コーナーに一冊だけあって1600円くらいだった。
多分これが最後なんだろうなぁと。

俺今本業がJ2EE/.NET屋だけど、確かにこれ分かりやすいね。
絶版だとは勿体ない・・・
942 Name: 名称未設定 [sage] Date: 2005/08/22(月) 22:37:32 ID: UPN0VTvc Be:
絶版つうか出版社がつぶれたんだ
943 Name: 932 [sage] Date: 2005/08/22(月) 22:50:06 ID: 7ndLQPXV Be:
レスありがとうございます。

>>937

なるほど。試してみます。

>>938

情報ありがとうございます。
このようなサンプルもあるんですね。
でもこのサンプルCarbonなんですね。
Cocoaを始めたばかりなので、解読できるか分からないですが、
参考にします。
944 Name: 名称未設定 [sage] Date: 2005/08/22(月) 23:09:04 ID: cF4VGdnm Be:
初歩的な質問と思いますがお願いします

ボタンを押して、その後(カーソルの位置に関係なく)マウスを上げたタイミングが取りたくて、
NSButtonをサブクラス化したのですが、mouseDown:は呼ばれるのですがmouseUp:が呼ばれません。
どのように実装すべきでしょう?

@interface CustomButton : NSButton
@end
@implementation CustomButton
- (void)mouseDown:(NSEvent *)theEvent
{
NSLog(@"%s",__func__);
[super mouseDown:theEvent];
}
- (void)mouseUp:(NSEvent *)theEvent
{
NSLog(@"%s",__func__);
[super mouseUp:theEvent];
}
@end
945 Name: 名称未設定 [sage] Date: 2005/08/23(火) 01:27:38 ID: HwfSfuTC Be:
NSCellのtrackMouse:inRect:ofView:untilMouseUp:
と関連メソッド達が絡んでそうとか言ってみるテスト。
946 Name: 名称未設定 [sage] Date: 2005/08/23(火) 14:24:58 ID: +b9ZS/vN Be:
http://developer.apple.com/ja/documentation/japanese.html

Cocoa

プログラミングトピック - Cocoa Topicsの抜粋です。
Cocoa とは? (PDF 7.1MB)
オブジェクトとの通信 (PDF 3.4MB)
アプリケーションアーキテクチャ入門 (PDF 1.1MB)
ドキュメントベースアプリケーション入門 (PDF 3.5MB)
Objective-C プログラミング言語
Cocoa バインディング入門
キー値コーディング(Key Value Coding)
キー値監視について(Key Value Observing)
Core Data プログラミングガイド
947 Name: 名称未設定 [] Date: 2005/08/23(火) 19:02:02 ID: l7VsLHQx Be:
IM(ことえり)で、文字変換中がわかるAPIとかありますか?
948 Name: 名称未設定 [sage] Date: 2005/08/23(火) 19:39:24 ID: yCFAJHTa Be:
マルチすんな
949 Name: 名称未設定 [] Date: 2005/08/23(火) 20:53:34 ID: 5vWw4tP9 Be:
$B:G6a(Btiger$B$rF~$l$F!"(B
Happy Machintosh Developping Time$B$N5-=R$r$J$>$C$F$_$F$k$H$3$m$J$s$G$9$,!"(B
interface builder$B$G%3%M%/%7%g%sD%$m$&$H%3%s%H%m!<%k%I%i%C%0$7$h$&$H$7$F$b!"(B
$B%Z%$%sFb$NB>$N%"%$%3%s$,A*Br$5$l$k$@$1$G!"BP>]$N%*%V%8%'%/%H$H%3%M%/%H$G$-$J$$$s$G$9!#(B

$B#2G/$/$i$$A0$K$A$g$C$H;n$7$?;~$bF1$8>u67$K$J$C$F!"$=$N;~$O(Bpreference$B$+$i(Bconnection$B$N(Block$B$r(B
off$B$K$7$?$i$-$A$s$HF0$$$?$h$&$J5-21$,$"$j$^$9!#$,!":#2s$O(Block$B$5$l$F$$$J$$!#(B

$B$3$s$J$J$C$F$kJ}$$$^$9$+!)(B
$B@5$7$/F0$/$K$O$I$&$9$l$P$h$$$G$7$g$&$+!"C/$+65$($F$/$@$5$$!#(B
950 Name: 名称未設定 [] Date: 2005/08/23(火) 20:54:58 ID: 5vWw4tP9 Be:
最近tigerを入れて、
Happy Machintosh Developping Timeの記述をなぞってみてるところなんですが、
interface builderでコネクション張ろうとコントロールドラッグしようとしても、
ペイン内の他のアイコンが選択されるだけで、対象のオブジェクトとコネクトできないんです。

2年くらい前にちょっと試した時も同じ状況になって、その時はpreferenceからconnectionのlockを
offにしたらきちんと動いたような記憶があります。が、今回はlockされていない。

こんななってる方いますか?
正しく動くにはどうすればよいでしょうか、誰か教えてください。
951 Name: 名称未設定 [sage] Date: 2005/08/23(火) 21:05:19 ID: taWqdi8V Be:
化けた件について一言もねーのかよ、クズが。
氏ね。
952 Name: 名称未設定 [sage] Date: 2005/08/23(火) 21:19:20 ID: wySE+4cQ Be:
EUCだね。
953 Name: 名称未設定 [sage] Date: 2005/08/23(火) 21:26:13 ID: 5vWw4tP9 Be:
あの、化けちゃったのはすいません
わざわざ1レス潰すのはどうかと思ったんで
そこばっかレスくれないでください

なんか
>>565
で同じようなトラブルにあってる人がいる...なんかやたら怒られているけどw
954 Name: 名称未設定 [sage] Date: 2005/08/23(火) 21:29:05 ID: rVMBP5IX Be:
>>952
いや、これはISO-2022-JP→Shift_JISの文字化けだな
955 Name: 名称未設定 [sage] Date: 2005/08/23(火) 22:46:07 ID: +m5xsgG6 Be:
>>950
昔なったことある。
仕方なく再インストールしたよ。
956 Name: 名称未設定 [] Date: 2005/08/23(火) 23:29:55 ID: VGdDnLhv Be:
100兆くらいまでの数字をあつかいたいのですが、
どのようにすればいいでしょうか?
957 Name: 名称未設定 [sage] Date: 2005/08/23(火) 23:44:15 ID: NYAnYQ49 Be:
多倍長演算?
cocoaとはあんま関係無いような
958 Name: 956 [sage] Date: 2005/08/24(水) 00:01:15 ID: VGdDnLhv Be:
>>957

すいません。関係ないですよね。

NSNumberでは扱えなかったのですが、
扱えるクラスがあったら教えて頂きたく思っていました。

自分で実装するしかないですかね?

959 Name: 名称未設定 [sage] Date: 2005/08/24(水) 00:08:35 ID: 1XcQAD5P Be:
NSNumber は long long を扱えるようだが?
960 Name: 956 [sage] Date: 2005/08/24(水) 00:34:24 ID: DY7Npnzi Be:
long long でも桁が足りませんでした。

あまり良く分からないので、もうすこし調べます。
すいませんでした。
961 Name: 名称未設定 [sage] Date: 2005/08/24(水) 01:33:57 ID: WdFFC9He Be:
一体どんな用途なんだか
962 Name: 名称未設定 [sage] Date: 2005/08/24(水) 01:34:39 ID: 1cXdzi0r Be:
64bit符号付き整数は、log(2)*(64-1)=18.96...で10進18桁以上の精度がある
から100兆は楽に扱える。
intやlongやlong longが何bitかは処理系依存なので、精度が問題になる時
使ってはだめ。64bit符号付き整数ならint64_tを使う。
ちなみに64bit IEEE doubleの精度は、仮数部53bitだから10進15桁の精度、
これでもギリギリ扱える。
この位はプログラミングの常識
963 Name: 名称未設定 [sage] Date: 2005/08/24(水) 01:38:32 ID: VhSzwlzD Be:
$ cat bignum.m;gcc -framework Foundation bignum.m;./a.out
#import <Foundation/Foundation.h>

int main(void)
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSDecimalNumber *bignum_1 = [NSDecimalNumber decimalNumberWithString:@"10000000000000000000000000"];
NSDecimalNumber *bignum_2 = [NSDecimalNumber decimalNumberWithString:@"1"];
NSDecimalNumber *answer = [bignum_1 decimalNumberByAdding:bignum_2];

NSLog(@"%@", [answer descriptionWithLocale:nil]);
[pool release];
return 0;
}
2005-08-24 01:37:22.166 a.out[472] 10000000000000000000000001

10000000000000000000000000が100兆かどうかはしらん。
964 Name: 963 [sage] Date: 2005/08/24(水) 01:39:51 ID: VhSzwlzD Be:
あっ、10.3.9ね
965 Name: 956 [sage] Date: 2005/08/24(水) 02:09:55 ID: DY7Npnzi Be:
>>962
>>963

ありがとうございます。
大変助かりました。

Javaから始めたプログラマなので、
このような知識があまりありません。

そんな私にアドバイス下さりありがとうございました。

966 Name: 名称未設定 [sage] Date: 2005/08/24(水) 02:14:59 ID: vICYXI9a Be:
>>961
例えば、近所の小学生をつかまえて
「俺の家には1億円あるんだぞ」と自慢すると
その小学生は「俺んちには100億円あるもん」と答えるので
「本当は1兆円あるもん」と答えると……

というわけで100兆必要になるのです。
967 Name: 名称未設定 [sage] Date: 2005/08/24(水) 07:53:20 ID: 6EeDnzLu Be:
>>966
それだと1000兆は必要だな
その上は小学生は桁を知らないだろうから大丈夫
968 Name: 名称未設定 [sage] Date: 2005/08/24(水) 11:40:01 ID: 3AffxZV7 Be:
>>967
「うちなんか、100兆万円ある」
969 Name: 950 [sage] Date: 2005/08/24(水) 13:59:47 ID: /j7/Bu3S Be:
すいません
ctrlキーが死んでました
python終了させようとctrl-dした時に気づいた

今って(tigerからかな)標準のコンパネでcapsとctrlの入れ替えとかできるんですね
はあ、どうもすいませんです
970 Name: 名称未設定 [sage] Date: 2005/08/24(水) 15:30:19 ID: G/67Er1U Be:
>>967
算数の教科書に一十百千万億兆京該……不可思議無量大数
と載ってるぞ。
971 Name: 名称未設定 [sage] Date: 2005/08/24(水) 16:58:11 ID: QbWYdxch Be:
>>970
えらいな
よく調べたな、消防。
972 Name: 名称未設定 [sage] Date: 2005/08/24(水) 17:50:21 ID: u04C9Zgh Be:
なんだこのガッカリなレス
973 Name: 名称未設定 [sage] Date: 2005/08/24(水) 19:07:49 ID: Z8SnSHgD Be:
結果報告しておきます
>>945
そのようですが、色々書いてみたところ、mouseUp:と同じようにするには面倒そうだったので、
mouseDown:のタイミングで、NSTimerで0秒後にメソッド呼び出しするようにしました。
(するとmouseUp:と同じタイミングでそのメソッドが呼ばれます)

ありがとうございました
974 Name: 名称未設定 [sage] Date: 2005/08/24(水) 21:52:33 ID: 1uxgcycX Be:
>>966
指数で扱ったほうがよくないか?
975 Name: 名称未設定 [sage] Date: 2005/08/24(水) 22:28:41 ID: 3AffxZV7 Be:
BCDクラス作って公開すれ
976 Name: 名称未設定 [sage] Date: 2005/08/24(水) 23:14:17 ID: ptHczEO9 Be:
>>973
調べもしないで横から割り込むけど
NSButtonだからmouseUp:を拾えないってことは無いかな?
NSViewの直接のサブクラスだとどうだろう?
977 Name: 名称未設定 [sage] Date: 2005/08/24(水) 23:52:29 ID: 33VhPy/c Be:
>>976
確かにNSViewのサブクラスならmouseUp:が拾えます。
ただボタンとして使用するのが主なので、mouseUp:のために
NSViewのサブクラスにボタンの機能を自作するのは面倒なので
やめました。
978 Name: 名称未設定 [sage] Date: 2005/08/25(木) 02:11:49 ID: t0/8n1UN Be:
>>965
Java使ってたからといって、数値変数に無知なことのいいわけにはならないと思う。
979 Name: 名称未設定 [sage] Date: 2005/08/25(木) 02:39:28 ID: ZIyjuKQ9 Be:
>>962
long long が少なくとも 9,223,372,036,854,775,807 まで表現できることは
規格で保証されてるはずだから、
ここで敢えて int64_t を使う必要性は薄いんじゃないかと思ってみたりする。
980 Name: 名称未設定 [sage] Date: 2005/08/25(木) 08:55:12 ID: 5oaFu4fD Be:
>>977
うん、だからNSButtonのときはmouseUp:が来ないようにどこかに細工してあるわけだよね
そこを見つけてなんとかすれば良いんじゃないかと

まあButton限定であれば実質mouseUp:=アクションだからそれで良さそうな気もするけど
981 Name: 名称未設定 [sage] Date: 2005/08/25(木) 12:01:56 ID: +fNPmdDY Be:
また,買ってはいけない本になるのだろうか。
ttp://book.mycom.co.jp/book/4-8399-1880-5/4-8399-1880-5.shtml
982 Name: 名称未設定 [sage] Date: 2005/08/25(木) 12:15:47 ID: A7nRXbod Be:
ttp://www.amazon.co.jp/exec/obidos/ASIN/4906605036/
983 Name: 名称未設定 [sage] Date: 2005/08/25(木) 13:20:34 ID: rnnhVhxB Be:
新版の機会を与える出版社にも問題があるな。
984 Name: 名称未設定 [sage] Date: 2005/08/25(木) 13:47:47 ID: YwOTWVB3 Be:
>>983
一応売れたことは売れたらしい
985 Name: 名称未設定 [sage] Date: 2005/08/25(木) 14:25:37 ID: cJCFt5QW Be:
>>980
>mouseUp:が来ないようにどこかに細工
それが>>945あたりではないかと思って、>>973のような結果になった訳です。
>実質mouseUp:=アクション
ボタン上でマウスダウン&ボタン外でマウスアップした場合にもmouseUp:は呼ばれる
点がアクションとは違うので、単純にアクションで処理する方法は取れませんでした。
986 Name: 名称未設定 [sage] Date: 2005/08/25(木) 14:39:02 ID: KIAEMmqI Be:
>>985
mouseUp で何がしたいのかよく分からんけど、
>>944

[ super mouseDown: theEvent ];
は、mouse up するまで帰ってこないんだと思うので、
そこから戻ってきたタイミングではダメなのかな?
NSTimer を使う方法ってのも、それまでタイマー処理が
保留されているだけだと思うんだけど。
987 Name: 名称未設定 [sage] Date: 2005/08/25(木) 15:32:56 ID: cJCFt5QW Be:
>>986  Σ(;゚Д゚)ガーーーン
言われてみればそうです... なぜ気付かなかったんだ俺のアホ!
[super mouseDown:theEvent]; はすぐ返ってくるものと確認せずに思い込んでいたことと、
mouseUp を呼ばせることばかりに気が行って、自分の中で盲点になっていました。

それでやりたいことは出来ます。いい反省材料になりました。
ありがとうございました。
988 Name: 名称未設定 [sage] Date: 2005/08/25(木) 23:27:16 ID: NiLpUlXV Be:
大昔のObjective-CとNeXTのプログラミングの記事

ttp://k-kura.net/upload/src/k-kura.net0463.zip.html
989 Name: 名称未設定 [sage] Date: 2005/08/26(金) 00:04:21 ID: 7eX9WAfR Be:
DLKeyは?
990 Name: 名称未設定 [sage] Date: 2005/08/26(金) 00:15:09 ID: KVhc5/YC Be:
>>989
ヒント:記事になってるコンピュータの名前
991 Name: 名称未設定 [sage] Date: 2005/08/26(金) 00:21:21 ID: P7yQzWV+ Be:
>>990
FM-TOWNS?
992 Name: 名称未設定 [sage] Date: 2005/08/26(金) 00:45:13 ID: nGYAYf+9 Be:
>>988
またいいものもらいました。
ありがとうございました。NEXTSTEP フリークより
993 Name: 名称未設定 [sage] Date: 2005/08/26(金) 00:48:12 ID: ko+blQS5 Be:
>>991
テラドライブ
994 Name: 名称未設定 [sage] Date: 2005/08/26(金) 01:19:16 ID: TkabOsNW Be:
>>988
NEXTSTEPフリ-クじゃ無くても
面白かった。ありがと。
995 Name: 名称未設定 [sage] Date: 2005/08/26(金) 01:23:28 ID: TkabOsNW Be:
ついでに新スレ建てといた
http://pc7.2ch.net/test/read.cgi/mac/1124986925/
996 Name: 名称未設定 [sage] Date: 2005/08/26(金) 01:43:56 ID: 7eX9WAfR Be:
>>990
落とせた。thx
997 Name: 名称未設定 [] Date: 2005/08/26(金) 03:17:15 ID: jfIcbbox Be:
読んだ事無いから記事読みたいのに記事になってるコンピュータの名前をDLKeyにされたらわかるわけないorz
998 Name: 名称未設定 [sage] Date: 2005/08/26(金) 03:27:17 ID: dNVtzHI4 Be:
DLKey教えろよゴルァ
999 Name: 名称未設定 [sage] Date: 2005/08/26(金) 03:38:37 ID: mvuPjHE7 Be:
>>997,998
992や994を見て考えるべし。
1000 Name: 名称未設定 [sage] Date: 2005/08/26(金) 03:39:29 ID: mvuPjHE7 Be:
そして次スレへ。

Cocoaはさっぱり!!! version.5
http://pc7.2ch.net/test/read.cgi/mac/1124986925/l50
1001 Name: 1001 [] Date: Over 1000 Thread ID: Be:
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
This page was generated by Dat2HTML Rev.