Cocoaはさっぱり!!! version.X(10)
at MAC
1:Cocoa
08/05/20 22:27:35 ItX/CuiA0
前スレが終了したみたいなので立てました。
過去ログとかよくわからないのでフォローお願いします。
2:名称未設定
08/05/20 22:43:11 sG8g16K80
前スレ
Cocoaはさっぱり!!! version.9
スレリンク(mac板)
3:名称未設定
08/05/20 22:57:38 8Odxygdm0
間違ってても(゚ε゚)キニシナイ!!
Cocoaはさっぱり!!! version.8
スレリンク(mac板)
Cocoaはさっぱり!!! version.7
スレリンク(mac板)
Cocoaはさっぱり!!! version.6
スレリンク(mac板)
Cocoaはさっぱり!!! version.5
スレリンク(mac板)
Cocoaはさっぱり!!! version.4
スレリンク(mac板)
Cocoaはさっぱり!!! Version.3
スレリンク(mac板)
Cocoaはさっぱり!version:2
スレリンク(mac板)
Cocoaはさっぱり!
スレリンク(mac板)
4:名称未設定
08/05/20 23:10:29 7Hvy2BoK0
>>1
乙。
5:名称未設定
08/05/20 23:12:32 7Hvy2BoK0
関連スレも貼っとこう
Macでプログラミング{8}
スレリンク(mac板)
MacOS XをUnixとして使ってる人の為のスレ その13
スレリンク(mac板)
Cocoaはさっぱり!!! version.9
スレリンク(mac板)
Xcode part6
スレリンク(mac板)
【マック】Macintoshプログラミング質問箱
スレリンク(tech板)
Mac OS Xでの開発環境はどれがイイ?
スレリンク(tech板)
6:名称未設定
08/05/20 23:23:40 RwxhciDA0
ObjectiveC++最高ぉ
7:名称未設定
08/05/20 23:30:39 tYSiPPVw0
現実
URLリンク(slashdot.jp)
プログラミング言語別求人件数(アメリカ)
Java 16479件
C++ 8080件
C# 7780件
JavaScript 6749件
Perl 5710件
PHP 2641件
Python 1408件
COBOL 1207件
Ruby 769件
Objective-C 38件 ←←←←
Lisp 33件
8:名称未設定
08/05/20 23:37:49 KHEABemo0
これも関連スレに入れてあげてください
Objective-C [ObjC part:3];
スレリンク(tech板)
9:名称未設定
08/05/20 23:50:51 HRwZ9j3i0
>>7
Java がトップとは、当たり前のような、そうでないような…
10:名称未設定
08/05/21 00:08:18 rWpwWuzp0
え、当たり前以外の何物でもなくね?
11:名称未設定
08/05/21 09:23:41 f3o28oAX0
そもそも今MacOSX用アプリを開発してる会社が何社あるのやら・・・。
12:名称未設定
08/05/21 10:22:01 Y93RS+ry0
アメリカには一杯あるよ
日本にはほとんどないけど ...
13:名称未設定
08/05/21 21:18:40 21cJALCV0
HMDTが募集してんじゃんw
14:名称未設定
08/05/21 22:13:00 L3QcPzgd0
>>7
俺、Lispやろうかな。へたれPGの俺は求人件数よりも求人倍率の低さ
で採用されるかもしれないから。
15:名称未設定
08/05/22 00:54:28 pDh7HLnh0
それってさらに
Emacs Lisp
Common Lisp
Scheme
とかに細分化されてるだろうからなぁ
一つに絞りたがっても意味ないよ
煽りじゃなく色々やった方がいいよ
得意分野として特定の言語を伸ばすのはアリだけど、特性の違う2、3の言語にまたがっといた方がいい
折角Macportsで手軽に色々入れられるんだし
16:名称未設定
08/05/22 19:23:46 F0xUDbhN0
ようつべを利用したいのですが、サンプルプロジェクトによくある
GData.frameworkというのはどうすれば手に入れられるのでしょうか?
17:名称未設定
08/05/22 19:48:31 46WSZxhf0
ヒレガス本第3版今届イタ━━(゚∀゚)━━!!!!
Garbage Collection も Core Animation も載ってるね
つーか、やっぱり Leopard に対応するために、当初の予定より
出版が遅れたんだろうな‥
18:名称未設定
08/05/22 19:51:27 QT31KVFx0
そういえば、Leopardも遅れたな。
19:名称未設定
08/05/22 20:02:40 O70xzo5x0
>>17
第2版と比べて
どれくらい変わってます?
目次でいいので教えて。
20:17
08/05/22 20:23:52 46WSZxhf0
>>19
Chapter 名の変化で比較するとこんな感じ
+ 追加(第3版のみ)
- 削除(第2版のみ)
→ 変更
他は同じ
+ Memory Management
+ Target/Action
Bindings and NSController → Key-Value Coding, Key-Value Observing
+ NSArrayController
+ Basic Core Data
Responders and Keyboard Events → Keyboard Events
Working with Fonts and NSAttributedString → Drawing Text with Attributes
+ Web Services
- Creating Interface Builder Paletts
- AppleScript
+ View Swapping
+ Core Data Relationships
+ Garbage Collection
+ Core Animation
Cocoa and OpenGL → A Simple Cocoa/OpenGL Application
+ NSTask
- Creating Frameworks
- GNUstep
21:19
08/05/22 21:11:01 O70xzo5x0
>>20
ありがとう!
22:名称未設定
08/05/22 22:56:09 3rHyH/v/0
ページ数も増えてるよね>第3版
23:名称未設定
08/05/22 23:11:40 u2zk9cyj0
>>16
ググれ。
つーか、googleに聞け。
つーか、googleを調べろ。
24:17
08/05/22 23:41:56 46WSZxhf0
>>22
第2版 450ページ
第3版 433ページ
25:名称未設定
08/05/23 00:17:04 T833at980
>>23
Googleとは小一時間格闘して敗北したんですけど、
objective-c用?のをダウンロードできるところが無さそうでした。
(っていうか、そもそもそういうものなのかもわからず)
ソースを落としてコンパイルするのですかね?
26:名称未設定
08/05/23 00:29:38 o+/m2vgU0
いや、ググったら二秒で出てくると思うが ...
URLリンク(www.google.com)
の二つ目に
URLリンク(code.google.com)
があるとおもうんだけど、あなたの目は節穴?
27:名称未設定
08/05/23 02:24:54 j99xmi9d0
縦横比を維持しつつリサイズされるQTMovieViewはどのようにしたら作れるのでしょうか。
URLリンク(brpg.hp.infoseek.co.jp)
これのメインウィンドウの左下フレームのような感じのものです。
28:名称未設定
08/05/23 02:48:48 3AyFrRZN0
>>27
attributesにPreserves Aspect Ratioってチェックがあるけど。
29:名称未設定
08/05/23 03:01:23 j99xmi9d0
>>28
ありがとうございます。助かりました。
30:名称未設定
08/05/23 04:21:31 dXEXmQ0i0
>>27
こういうのってなんで作ってるんだろうと思う
ターゲットはいるのかな、趣味なのかな
31:名称未設定
08/05/23 04:25:01 IL6J9Zwh0
>>30
ゆくゆくはiTunesよりも高機能に育てる過程の一つとか。
32:名称未設定
08/05/23 09:58:56 cwPsB5600
シンプルに連続再生して垂れ流ししたい
iTunesが重い
iTunesが扱えないフォーマットが扱える(QuickTimeで再生出来れば)
Cocoaプログラミングの勉強
などです。
33:名称未設定
08/05/23 22:33:32 T833at980
>>26
ああ、お恥ずかしい限りで。
そのページは何度も見ていたはずなのですが(^^;
なんというか、「GData.Framework」という文字ばかり探してました。
DLしてビルドしたら(エラーになりましたけど)GData.Frameworkフォルダが生成されたので
これを使えば良いのだろうと思って次に進みます。
34:名称未設定
08/05/23 22:51:17 jKCdJQha0
Foundationは思想かなにかですか?
35:名称未設定
08/05/24 01:12:15 DcLAwtro0
>>32
iTunesが扱えないフォーマット、に関してはすごく同意する
ようするに他のフリーソフトに関してもしがらみがないってある種強みだよね
36:名称未設定
08/05/24 01:22:23 LruzwE630
現在、NSOutlineViewの使い方を勉強中です。
で、サンプルプロジェクトやネット上での解説ページを見ていたところ、
return (item == nil) ? YES : ([item numberOfChildren] != -1);
の様な表記をよくみかけました。
これはどのように解釈すれば良いのでしょうか。
37:名称未設定
08/05/24 01:55:20 gZp6b3Ai0
>>36
itemがrootなら、YESを返す。
itemが内包数0のフォルダ(num = 0)ではなく、ファイルなのでexpandしないようにする。
つーか、その質問だけではちょっと意味不明だよ。
FileSystemItemのアレについて質問しているのだろうけど。
38:36
08/05/24 03:01:01 NtDdGehO0
>>37
申し訳ありません。
ID変わったけど>36です。
- (BOOL)outlineView:(NSOutlineView *)outlineView isItemExpandable:(id)item {
return (item == nil) ? YES : ([item numberOfChildren] != -1);
}
そして質問の仕方も抽象的でした。申し訳ありません。
仰るとおりFileSystemItemのアレなのですが、
具体的には「? YES :」の部分の解釈の仕方、ということです。
とりあえず、頂いた答えとサンプルコードを再度見返してあれこれ考えてみたのですが
return a ? b :c;
となっていた場合、aを評価した結果がYESならbを、NOならcを返す、という理解でよろしいでしょうか。
Cocoaにはあまり関係していませんでしたね。。。すいませんでした。
39:名称未設定
08/05/24 03:26:59 gZp6b3Ai0
>>38
> となっていた場合、aを評価した結果がYESならbを、NOならcを返す、という理解でよろしいでしょうか。
うん。
40:36
08/05/24 03:28:15 NtDdGehO0
>>38
ありがとうございました。
41:名称未設定
08/05/25 17:58:40 lLZMSYBY0
>>35
wmvとかflvとか、コンテナmovにしちゃえばいいのに。
全部まとめて管理できる所に意味があると思う。
42:名称未設定
08/05/27 23:52:33 CZYQD03h0
萩原さんの「詳解 Objective-C 2.0」
もう手に入れた人居ます?
買いなのかな?
43:名称未設定
08/05/28 09:09:00 L3/IqKQ00
URLリンク(www.pragprog.com)
44:名称未設定
08/05/28 12:55:17 opb4iFeH0
アマゾンで、ヒレガスさん3+萩原さん2.0=9,321円、萩原さん2.0は明日到着
45:名称未設定
08/05/28 21:49:31 VttZwart0
>>42
>買いなのかな?
URLリンク(hmdt.jp)
46:名称未設定
08/05/29 00:53:38 WGFKGrSC0
>>42
まだぱらぱらめくった程度だけど
おととしに出た「Objective-C Mac OS Xプログラミング」の
バージョンアップといった感じ。章の構成や内容は同じものが多いです。
前の本を持っていないなら、買って損はしないと思うよ。
47:42
08/05/29 08:33:18 rVgTXt350
>>46
前の本も
前の前の本も
持ってるだけに
悩むな〜
今日出勤前に本屋に寄って
少し眺めてから決めます。
48:名称未設定
08/05/30 00:33:33 PlwTpTkX0
Cocoaと言うよりObjective-Cの質問?なのですが、いいですか?
現在Cで記述したプログラムがあります。
データの最大数は不定なので、可変でデータを保持したかったのですが、面倒だったので、
データ領域を大きめに確保して、固定長の配列として処理しています。
データは配列の番号でインデックスされ、歯抜けになっても新たなデータが来ると若い順に
埋めていきます。
ObjCに移植するにあたって、NSMutableArrayに置き換えようと思ったのですが、NSMutable
Arrayは要素が消されると自動的に配列を詰める、とのことで、配列番号での索引が利かなく
なるようです。
このような場合、データ数を可変で確保でき、且つ、配列番号での索引ができるいい方法が
ありますか?
49:名称未設定
08/05/30 00:40:51 xrC+L8bu0
>>48
別に Obj-C は C の拡張なので、すでに配列で出来てる箇所を
NSArray に変える必要がないとおもうんですが ...
どうしても Cocoa にかえたければ、NSDictionary つかって、数字じゃなくて文字列でタグをつければしまいだとおもいます。
50:名称未設定
08/05/30 00:47:59 CkhV8SZM0
>>48
要素を削除するときにその位置にあるオブジェクトを取り除くのでなく、
値をNSNullに変更するようにすれば、元の処理と同じようにできると思います。
元のCのコードでもNULLにするなどしていますよね?
51:名称未設定
08/05/30 23:32:12 L1G/osgq0
>>47
>持ってるだけに
>悩むな〜
今日尼から届いた。1.0→2.0の変化詳しく50ページほど増量。
ま、前版もってても買いじゃね、とおもた
52:名称未設定
08/05/31 00:41:36 9zILcVHo0
>>49
折角良さげなものがあるので、固定長配列を可変長に変えたかった、というのが主な理由です。
>>50
なるほど、考えてみれば別に取り除かなくてもいいんですもんね。有り難うございました。
53:46
08/05/31 01:28:09 m3HKOXME0
>>47
10.5の新しいトピックを中心に1/3くらいまで読み進めました。
32/64bit、ガーベジコレクションで注意が必要なところなど、
細かいとこが丁寧にフォローされてる。
てゆーか、罠多すぎ>ガベコレ
・10.5以降でプログラムを書かない
・あとで買えなくても泣かない
というのでなけりゃ、買いかと。
54:名称未設定
08/05/31 12:29:28 WjiDQvAu0
名古屋大須の三洋堂で買ってきた。まだ2冊あったぞ。昨日の話だけど。
55:名称未設定
08/05/31 13:03:56 MFBihJHB0
今Amazonから届いた
けど読む暇がない
56:名称未設定
08/05/31 16:52:17 EZpALD+x0
>あとで買えなくても泣かない
これが一番問題になるなw
57:名称未設定
08/05/31 22:53:52 r05FKlJl0
IM制御をしようとしてます。
前スレ 915 を参考にして、ターミナル上で、ことえり日本語入力時に
int main() {
TISInputSourceRef tis = TISCopyCurrentASCIICapableKeyboardInputSource();
TISSelectInputSource(tis);
CFRelease(tis);
}
を実行すると、見た目(メニューバーのとこ)は英字になるのに
いざ入力しようとすると日本語のままなんですが、
うまくいく方法ありますか?
58:名称未設定
08/06/01 11:09:53 bmGuDI3g0
>>57
うちではそれでちゃんと動く気がする
(ことえり、egbridge とも)
59:57
08/06/02 00:17:15 5l7yqjBi0
>>58
ども。
一旦、ターミナルを非アクティブにして、もう一度アクティブにすると
入力も英字になるんですけど...
そういう処理を入れりゃいいのか。。
60:名称未設定
08/06/02 05:46:08 U2iAatA00
>>59
それしなくてもうちは英字入力に切り替わるけど?
日本語変換中の文字が残っている場合のこと?その状態でどうやってプログラムを走らせればいいか良くわからんけど ...
61:57
08/06/02 15:42:09 5l7yqjBi0
>>60
1、ターミナル上でIM制御プログラムを走らせる。
2、cmd+spaceでひらがな入力にする。
3、「あああ」と入力
4、c-pで、コマンド履歴をだしてそっからプログラムを走らせる。
3で日本語変換中の文字が残っていても残っていなくても、
変換確定済でも未確定でも
見た目(メニューバーのとこ)は英字入力になるが、
いざ入力すると、日本語(ひらがな)が入力される。
という感じです。
10.5.2
i686-apple-darwin9-gcc-4.0.1
zsh 4.3.4 (i386-apple-darwin9.0)
62:名称未設定
08/06/02 23:49:54 U2iAatA00
>>61
うちでは再現しないよ ... 謎。
メニューバーも英字になって、入力してもちゃんと英字になります。
ためしてみたけど、bash/zsh のちがいでもなさそう。
IM はなにをつかってる? キーボードは英語キーボードなのかな。
こちらは日本語キーボードなので。それぐらいしか違いが見当たらない。
63:名称未設定
08/06/03 01:33:09 wMSlazAP0
Interface Builder 3で、UserDefaultsと"ThreadURL"キーとWebViewの"mainFrameURL"をバインディングしたいのですが操作方法がわかりません。
WebViewのバインディングのインスペクタを見てみると、"Editable","Hidden","ToolTip"しかバインディングできる項目が無く、"mainFrameURL"をバインディングできません。
WebViewをMyClassにデリゲートして、ソースからバインディングすればどうにかなりそうな気はするのですが、InterfaceBuiderだけでする方法は無いのでしょうか。
あと、IB3では、
URLリンク(www.big.or.jp)
のようにテキストフィールドとWebViewを直接つなぐことは出来なくなったのでしょうか。
64:名称未設定
08/06/03 01:34:22 wMSlazAP0
>>63
訂正
×UserDefaultsと"ThreadURL"キー
○Shared User Defaults Controllerの"ThreadURL"キー
65:名称未設定
08/06/03 06:10:10 pp+RRbGE0
あるViewの上にテンプレートのようなViewを置きたいと思ってます。
下のViewは通常通り動くものが出来上がっていて、その上にImageViewをのせて
そのViewに
- (void)mouseDown:(NSEvent *)theEvent {
[[self nextResponder] mouseDown:theEvent];
}
- (void)mouseUp:(NSEvent *)theEvent {
[[self nextResponder] mouseUp:theEvent];
}
とか各種イベントをスルーするようにすれば下に行くものだと思っていたらう
まく下のViewにイベントが渡って行きませんでした。何か根本的な考え違いが
あるのでしょうか?
66:名称未設定
08/06/03 07:40:43 IEedy5rj0
superviewに渡すもんじゃない?
67:名称未設定
08/06/03 08:03:37 91xa2rp50
何をしたいか分からんけど、
下のviewの描画をオーバーライドすればいいんじゃね?
- (void)drawRect:(NSRect)rect {
[super drawRect:rect];
//テンプレ描画
}
68:名称未設定
08/06/03 08:10:05 pp+RRbGE0
>>66 >>67
上に乗っているViewは下のViewのsubViewではありません。描画上重なっている
だけで、上のテンプレート表示は下のViewより大きくなる場合があります。
イメージのオブジェクトがいくつかあって、その上に定規のステンシルがオー
バーレイで乗っている状況です。この状態で定規は動かさず、下のオブジェク
トの操作がしたい訳です。
69:名称未設定
08/06/03 08:49:49 oXsq6zVd0
>>63
う〜ん、たしかにかなり変わってるね。
IB3 でも、単純に URL の中身を表示させたかったら、WebView の takeUTLfrom: というアクションを NSTextField のターゲットにしておくという方法があるけど。
70:名称未設定
08/06/03 12:58:41 aw4+EDm70
弟がスーパーハカーを目指してるらしく、まずCから始めようと思ってるらしい
1からC言語を勉強するサイトってどこがいいかな。書籍はamazonで購入して発送待ち
目当てはMacやiPhoneで使う自作アプリだからObjective-Cをやりたいんだと思うけど
このままでは俺の3日間しかない黄金週間が潰されてしまうので助けてください
71:名称未設定
08/06/03 13:08:46 XD4GWoXw0
その黄金週間までに、スーパーハカーへの道を閉ざすというのも手だ。
72:名称未設定
08/06/03 22:56:02 kOTQ+iAx0
>>68
ViewにとってのnextResponderはsuperViewだよ。
だから、下のViewとsubViewの関係にないなら、イベントを中継するコードを手動で書かないとダメかもね。
つまり、マウスダウンした座標から、下のどのViewの上にいるのかを計算して、そのViewのmouseDown:メソッドを直接呼び出すみたいな感じ。
73:名称未設定
08/06/04 00:09:16 p9a2L9Dk0
acceptsFirstResponderでNOを返すんじゃだめだっけ?
これはキーイベントだけだったかな…
74:名称未設定
08/06/04 00:09:50 T5rsQU4g0
>>72
なるほど、下にオブジェクトがそこそこ沢山あるので結構複雑になりますね。
単に「イベントはスルーするけど描画はするレイヤ」を上に置きたいためだけ
なのに、、、
ウィンドウを上において[window2 setIgnoresMouseEvents:YES];しておいて
このウィンドウに描画してやるとうまく行くかと思ったけど、このウィンド
ウをクリックした瞬間に下のウィンドウが上にでてきた←あたりまえ
もう少し考えてみます。
75:名称未設定
08/06/04 00:47:24 T5rsQU4g0
>>73
- (BOOL)acceptsFirstResponder {
return NO;
}
- (BOOL)becomeFirstResponder {
return NO;
}
- (BOOL)resignFirstResponder {
return NO;
}
やってみました。残念ながらオーバーレイの
- (void)mouseDown:(NSEvent *)theEvent {
に処理が飛んできました。
76:名称未設定
08/06/04 04:43:59 l7IMH3zH0
おれだったら、superviewにわたして、superviewからsubviewを全部チェックして適合するviewを探すかな。
77:57
08/06/04 09:51:22 FsqvQyEC0
>>62
IMはことえり
MacBook CoreDuoのUSキーボード
anthyでも試してみたけど、入力するとやっぱりひらがな。。
他にintelマシンないし、Cocoaはさっぱりなんで、AppleScriptで逃げます..
ありがとう。
78:名称未設定
08/06/04 13:23:44 PLLPbHtE0
Xcode 3.1/IB3です
iTunesのように、閉じても"ウィンドウ"メニューから再び表示できるウィンドウはどのようにしたら作れるのでしょうか。
79:名称未設定
08/06/04 14:33:09 aQgm8y1m0
IBで"Dispose When Close"をoff
ウインドウメニューにアイテム追加。
アクションを oderFront: とかその辺。
80:名称未設定
08/06/04 14:56:02 KlJQ+yiW0
OS 10.5だと、iCalは起動してなくてもDockのアイコンをカスタムにしてますがこれどうやってるんでしょう?
-[NSApplication setApplicationIconImage:]の拡張っぽいものは見つかりませんが
81:名称未設定
08/06/04 14:58:34 2RtF4pPv0
NSFastEnumerationプロトコル実装させようと奮闘してるんだけど、
for ... inループの途中でbreakさせるとそのループが何度回ったかを
知る方法ってないのかな?
NSEnumerator使うと、
NSEnumerator *e = [a objectEnumerator];
x = [e nextObject];
y = [e nextObject];
for( z in e ){
. //何らかの処理
. if( xxx )
. break;
}
w = [e nextObject];
s = [e nextObject];
なんて文でもしっかり順番合うけど、なんか隠し機能でもあるのかな?
82:名称未設定
08/06/04 15:05:01 PLLPbHtE0
>>79
"Dispose When Close"が見つからないのですが、Release when Closedのことで良いのでしょうか。
メニューアイテムを追加して、orderFlontにつなぐ方法は、IB2/Tigerのときは問題なく動いたのですが、IB3/Leopardでやるとアプリが起動時にフリーズします。
makeKeyandOrderFlontにつなぐと、つないだメニューは消えてしまうのですが、ウィンドウメニュー一番下のウィンドウ名の項目が閉じても残るようになります。
この方法でもウィンドウを再度開くことができることはできるのですが、ウィンドウを開いているとき、そのウィンドウを示す項目がウィンドウメニューに2つ表示されてしまうことになります。
また、閉じたときも項目がぽっかり消えてしまうのでなんか違和感があります。
83:名称未設定
08/06/04 15:45:21 aQgm8y1m0
>>82
おお。それそれ。
>とアプリが起動時にフリーズします。
うちでは問題ないけどな。なんかあるのかな?
>ウィンドウメニューに2つ表示されてしまうことになります。
-[NSWindow setExcludedFromWindowsMenu:]
これ。
84:名称未設定
08/06/04 20:21:25 xLFIAeEO0
>>80
Info.plist に
<key>DockExtra</key>
<string>iCalDockExtra.bundle</string>
ってあって,Dockがこれを呼び出してると思う。
85:名称未設定
08/06/04 21:03:50 FtD8O2Sd0
>>81
基本的にNSFastEnumerationが何回ループしたのか、ベースとなっている配列オブジェクト側で知るすべは無いように思います。
そのサンプルコードがうまく動作しているのは、NSEnumeratorをベースとしているからだと思います。
NSFastEnumerationは一気に16回ぐらいループできますが、NSEnumeratorの場合は1回づつ回してるんじゃないですかね。
特に調べた訳ではないですが。
86:名称未設定
08/06/04 21:09:23 0ZiY20sM0
>>81
URLリンク(developer.apple.com)
For collections or enumerators that have a well-defined order―such as NSArray or NSEnumerator
instance derived from an array―the enumeration proceeds in that order, so simply counting iterations
will give you the proper index into the collection if you need it.
NSArray *array = /* assume this exists */;
NSInteger index = 0;
BOOL ok = NO;
for (id element in array) {
if (/* some test for element */) {
ok = YES;
break;
}
index++;
}
if (ok) {
NSLog(@"Test passed by element at index %d", index");
}
87:名称未設定
08/06/04 21:28:03 PLLPbHtE0
>>83
ありがとうございますm(_ _)m
88:87
08/06/04 21:54:41 PLLPbHtE0
File's Ownerの
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
で
[MainWindow setExcludedFromWindowsMenu: YES];
をしたところ、ウィンドウのメニュー項目が自動生成(?)されることはなくなりました。
しかし、makeKeyandOrderFrontに繋いだメニュー項目があると、ウィンドウを閉じたときエラーになります。
環境は、Mac OS 10.5.3(9D34)/Xcode 3.1(iphone_sdk_9m2173a)/Mac Book(現行モデル・竹)です。
コンソールには、以下のエラーが出力されます。
GNU gdb 6.3.50-20050815 (Apple version gdb-956) (Wed Apr 30 05:08:47 UTC 2008)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i386-apple-darwin".プログラムは読み込まれました。
sharedlibrary apply-load-rules all
Attaching to program: `/Users/admin/Developer/ClickJapanCocoaReporter/build/Release/ClickJapanCocoaReporter.app/Contents/MacOS/ClickJapanCocoaReporter', process 54373.
(gdb)
89:名称未設定
08/06/04 21:54:51 FtD8O2Sd0
>>74
NSWindowのサブクラスを作って、-displayか-displayIfNeededあたりをオーバーライドすれば、Viewの再描画処理に割り込めるんじゃないかな?
もし、うまく割り込めたら、すべてのViewの再描画が完了した直後に、
[[window contentsView] lockFocus] か [NSGraphicsContext setCurrentContext: [window graphicsContext]]で
グラフィクスコンテキストを設定して、すべてのViewの上に画像を上描きできます。
手前に、ViewやWindowを重ねてる訳じゃないので、イベントを取られる事はないはず。
90:名称未設定
08/06/04 22:06:28 mSrg2YBE0
>>80
URLリンク(jens.ayton.se)
91:名称未設定
08/06/04 22:07:39 mSrg2YBE0
>>88
gc つかってる?それなら window が解放されてしまってるんでないかと思うけど ...
92:87
08/06/04 22:25:26 PLLPbHtE0
>>91
ガベージコレクション?
どのようにしたら解放しないようにできるのでしょうか…
ウィンドウの設定はこんな感じになっています。
URLリンク(wktk.vip2ch.com)
93:名称未設定
08/06/04 22:30:53 mSrg2YBE0
>>92
ガベージコレクションつかってると、nib のトップレベルに単においてあるオブジェクトは誰にも強く参照されてないから、GC が気が付いたとたんに削除しちゃうよ。
File's Owner の delegate にコントローラオブジェクトをつないであるなら、
さらにコントローラオブジェクトに outlet をつくってそこに window をつないでおかないといけません。
URLリンク(developer.apple.com)
の nib files の項、
URLリンク(journal.mycom.co.jp)
のまんなかあたりとか参照。
94:名称未設定
08/06/04 22:31:08 p9a2L9Dk0
Release When Closedはチェック「しない」って話じゃなかったか
95:87
08/06/04 22:40:26 PLLPbHtE0
>>93
[MainWindow setExcludedFromWindowsMenu: YES];
をするためにコントローラオブジェクトのアウトレットにMainWindowを繋いでいるんですが…
@interface NSApplicationDelegate : NSObject {
IBOutlet id Send2chView;
__strong IBOutlet id MainWindow;
}
ためしに__strongをつけてみましたが効果無しでした(´・ω・`)
96:名称未設定
08/06/04 22:40:34 YuPHi7F30
>91
どうだろう?
最初の5行を考えると、
主要nibファイル - NSMainNibFile -のFile's Ownerなんだと思う。
MainWindowはそのインスタンス変数。
で、[MainWindow setExcludedFromWindowsMenu: YES];でちゃんと動くってことは、
IBで MainWindowにちゃんと接続できてるんだと思うんだよね。
てことは、主要nibファイルのFile'sOwnerが解放されるってあり得ないから、
そのインスタンス変数がgcで解放されるなんてあり得ないと思うんだけど。
まあ、状況的にはMainWindowが解放されてるには違いないんだけど。
とはいっても、常人には理解不能な摩訶不思議な事をやってる可能性もあるんだよね。
ソースコード一式どかーんと見せてくれたら、みんな寄ってたかって直してくれると思うよ。
あと、
>88
それエラーじゃないから。
97:87
08/06/04 22:42:01 PLLPbHtE0
>>94
orz
Release When Closedのチェックを外したらいけましたorzorz
98:名称未設定
08/06/04 22:45:07 YuPHi7F30
あう。
リロードしてから書き込むべきだった。
しかもそれ一番始めに言ったじゃん。w
99:名称未設定
08/06/04 23:15:26 WH5iIvoT0
>>84,90
ありがとうございます。
まだprivateなAPIのようですね。
100:名称未設定
08/06/05 03:28:08 Iy8p9dIO0
PragmaticBookshelfからRubyCocoaの本出るみたいだね
びっくりした
101:名称未設定
08/06/05 03:28:39 Iy8p9dIO0
URLリンク(www.pragprog.com)
URL貼り忘れた
102:名称未設定
08/06/05 06:38:16 N70IRzNR0
>>89
これ、挑戦してみます。
とりあえず、NSFloatingWindowLevelの透明ウィンドウを作って、setIgnoresMouseEvents
したものを描画したいウィンドウに自動追従する形で実装してみました。
移動したとき付いてくるのがちょっと遅れるのが気になる、、、
103:名称未設定
08/06/06 18:58:26 /nwOtou00
GetP2PDBクラスからCore Dataを使いたいと思っているのですが、
IBOutlet id *ADI;をFile's Ownerのデリゲートオブジェクトに接続した上、
context = [ADI managedObjectContext];
object = [NSEntityDescription insertNewObjectForEntityName:@"P2PDB" inManagedObjectContext:context];
をしたところ、
2008-06-06 18:38:38.231 Yaezakura[1703:10b] *** +[NSEntityDescription insertNewObjectForEntityName:inManagedObjectContext:]: unrecognized selector sent to class 0xa08caf40
と出てしまいます。
もともとCocoa Applicationとして作り始め、YaezakuraDelegate.mの中身だけ
CoreDataアプリケーションのデリゲートクラスのものから引っ張ってきました。applicationShouldTerminateだけはコピーしていません。
xdatamodelファイルは、File>New File…"Yaezakura.xcdatamodel"という名前で追加しました。
デリゲートクラスのソースに、xcdatamodelのファイル名を指定するところが見つからないので、もしかして、xcdatamodelのファイル名は規定されているとかでしょうか。
104:名称未設定
08/06/06 19:04:13 K898eDqK0
とりあえず
+[NSEntityDescription insertNewObjectForEntityForName:inManagedObjectContext:]
ね。
Forが一個足りない。
補完機能を使うかコピペしましょう。
105:名称未設定
08/06/06 19:08:43 /nwOtou00
>>104
ありがとうございます。
URLリンク(journal.mycom.co.jp)
からコピってました。
確かに、For、抜けてるorz
記事より補完機能ですか…
106:81
08/06/06 23:24:48 DnNWuDyX0
>>85
> ベースとなっている配列オブジェクト側で知るすべは無いように思います。
NSFastEnumerationState構造体に空きスペースは充分あるんだから
情報を入れてほしいと思う今日この頃・・・
>>86
やはりそれしかなさそうですね。
ループ周りのコードをスッキリさせたかったんですが、残念です。
107:名称未設定
08/06/07 03:06:06 czfM+cV40
乱暴にコード減らしてみた
NSArray *array = /* assume this exists */;
NSInteger index = [array count] -1;
for (id element in array) {
if (/* some test for element */) {
index = [array indexOfObject:element];
break;
}
}
if (index != 0) {
NSLog(@"Test passed by element at index %d", index");
}
無茶したw
実際に何回ループしたかカウントしてないしね。
108:名称未設定
08/06/07 05:36:42 oLB88PWk0
ヒレガス本第3版のPDF買ってみたけど
AdobeDigitalEditionという電子書籍ビュワー
入れないと見られないし、コピペも出来なので
$35の値段のわりに微妙だった。
109:名称未設定
08/06/07 08:19:56 lneVQl2h0
それはひどい
経験を共有してくれてありがとう
110:名称未設定
08/06/07 14:51:12 bqgf91t00
>>106
NSFastEnumerationプロトコルを実装してる配列オブジェクト側からは、NSFastEnumerationState構造体に自由に情報を格納することができます。
問題となっているのは、そのNSFastEnumerationState構造体を他の場所から参照できないことだと思います。
111:名称未設定
08/06/07 16:29:39 TibeL3oq0
複数のNSButtonやNSTextFieldが集まって一つの機能を持った物。仮にこれをモジュー
ルと呼びますが、このモジュールを部品として、IBで他のウインドウ上に配置でき
るようにしたいのですが、スマートにする方法ってあるでしょうか?
とりあえず今実現しているやり方はこうです:
・モジュールを表すカスタムビューを作る。モジュールを利用する側のウインドウ
上にはこのビューを配置する。
・モジュール専用のnibファイルを用意して、その中にモジュールで使用するコント
ロール類を並べ、モジュール内部のふるまいを実現するコントローラのインスタ
ンスも作っておく。
・カスタムビューは自分がロードされたら上記nibファイルをロードする。
・モジュールを利用する側はカスタムビューとだけやり取りする。モジュール内部
には触れないようにする。(モジュール用nibて使っているOutletが表に見えない
ようにする)
これでうまくは行ってますが、なんかスマートじゃない気がします。
また理想的にはモジュールのパラメータ類もIB上で設定できるようにしたい・・。
となると、究極的にはIBのプラグインを作ればいいんでしょうけど、配布したり他
のアプリで使えるようなものでもないので、それはちょっと大げさかな、と。
112:名称未設定
08/06/07 16:35:31 TwyUwYCb0
>それはちょっと大げさかな、と。
面倒くさいとかやり方わからないの間違いでしょ。
あなたの実現したいものはibplugin以外の何者でもないじゃん。
113:名称未設定
08/06/07 18:43:39 TibeL3oq0
>>112
実のところibpluginも途中まで進めてましたが、ターゲットOSが
10.5以上でないとだめなようなので(今回は開発も実行も10.4)
他のやり方を探してるわけです。
「パラメータをIBで設定」なんかは無理だとしても、
複数のコントロールを一つにまとめて同じプロジェクト内で
使いまわす程度の事って、最新版のOS・・と言うほど
高度な話とは思えませんし、珍しい要求でもないですよね?
だから、今までは皆さんどうやっていたのか、
何か定番みたいな方法があるのでは?
と気になったから書いたんですが。
114:名称未設定
08/06/07 18:48:34 TwyUwYCb0
>>113
じゃあ、IBPaletteでしょ?
115:名称未設定
08/06/07 19:21:17 T3VD/+310
URLリンク(www.nitenichiryu.org)
微妙だなあ・・・。
116:名称未設定
08/06/07 19:35:40 VBQ7XzHf0
URLリンク(jp.techcrunch.com)
>AppleのiPhoneチームとiTunesチーム出身者2人が−退社してY Combinatorと手を組んで−スタートアップを始めるとどうなるか?
元Apple社員らしい。GUIアプリみたいなものを作るなら、JavaScriptよりもObjective-Cってこと?
117:名称未設定
08/06/07 20:20:20 N0VOrekx0
俺のdel.icio.usのsubscriptionsがObjective-Jでいっぱいなんだが
118:名称未設定
08/06/07 22:50:58 VBQ7XzHf0
>>117
本当だ。
119:名称未設定
08/06/10 11:53:52 v6XJxThv0
Xcode3.1 ベータ6を使ったCocoa Applicationの開発をして、友人にテストのためできあがったものをビルド構成Releaseでビルドして渡したのですが、起動しないと言われてしまいました。
ここでは私のプログラムした内容は正しかった、と仮定した上で質問があります。友人の環境はPPC G4, G5で10.4のはずなので、プロジェクトの設定のディプロイメントターゲットを10.4にしたのですが、デフォルトの設定から変更しなければならない項目は他にありますか?
120:名称未設定
08/06/10 12:03:43 8XOktTUG0
コンソールに出力されたものの内容を送ってもらう。
121:名称未設定
08/06/10 12:25:46 ZtjOgx420
>>119
新規プロジェクトでCocoaApplicationを選択、「プロジェクト設定を編集」の
「すべての構成のベースSDK」で「Mac OS X 10.4」を選択、Releaseをビルド
してG4 10.4.11に持っていったら普通に起動してウィンドウが出ました。
プロジェクトの設定が悪いのか、自分のプログラムが悪いのか、それとも
ツールがβ版だからなのか、という切り分けをした方がいいと思いますけど。
122:名称未設定
08/06/10 14:51:37 UgSK0RIy0
・PPC のコードが含まれていない
・友人のマックにはないフレームワークを使っているのに
アプリに入れ忘れている
とか
123:名称未設定
08/06/10 14:52:35 NdfOdpVf0
>119です。みなさんありがとうございます。
ベースSDKの設定の可能性が高いようです。今外なので確かめられませんが。
>121の方が言っているとおりもちろんそうすべきと思いますが、
自分の環境では問題なく動いていたため、
プログラミングミスはないものと仮定しました。
また、先日はベータ5を使って成功していたこと(ベータなので理由にはなりませんが)と、
私が一番自信がなかった部分がプロジェクト設定だったため
そこに絞った質問にした次第です。
細かい説明を省いてしまい申し訳ありません。
124:名称未設定
08/06/10 19:29:34 M+lv1G8s0
122さんも書いてるけど、ディプロイメントターゲットだけでなく、アーキテクチャもよく確認を。
32bit Universal Binaryね
125:名称未設定
08/06/10 20:26:50 zi/2SxUe0
プログラムのミスうんぬんじゃなくてコンソール見て起動しない原因探せって意味だろうが
起動どころか開けないのなら配布する時に気付くだろうし
126:名称未設定
08/06/10 20:56:17 UzQ8SNX80
ビルド構成DebugのままでReleaseにし忘れてるとかはないか
127:名称未設定
08/06/10 21:21:06 tXsfQ9xo0
ここで公開すればいいじゃん。
よっぽど早くけりがつくよ。
128:名称未設定
08/06/10 22:29:17 RnNeIuj80
特定の時間になったら音を鳴らすアプリを作っているのですが
主音量を上げるメソッドってないんでしょうか?
129:名称未設定
08/06/11 00:30:49 +Muj4NnA0
勝手に音量を上げるとはウザいアプリだな。
130:名称未設定
08/06/11 01:02:21 BuT1Yz540
できるだろうけどCocoaじゃ無理じゃねーかな
131:名称未設定
08/06/11 12:23:53 7YtizGAL0
>>128
URLリンク(developer.apple.com)
132:名称未設定
08/06/11 16:35:05 raOc4tIo0
>119です。
>>122 すいません、書き込んだとき気付きませんでした。
結論から言うと、設定ミスとプログラミングミスでした。
アーキテクチャはあっていました。
ベースSDKの設定、もしくはアクティブSDKの設定を変更し、
それでも起動しないためログを送ってもらったところ、
setImageScaling:が悪さをしていることが判明しました。
ビルド時にエラーが出なかったため、10.4ではメソッド自体が
無視されるものと勘違いしていました。
IBとコード内のImageScalingに関連している箇所を修正したところ
無事に起動しました。
お手数おかけしました。ありがとうございました。
133:名称未設定
08/06/11 17:27:22 7YtizGAL0
>>128
#include <CoreAudio/CoreAudio.h>
void setVolume(Float32 theVolume/*0-1.0*/) {
AudioDeviceID mAudioDeviceID;
UInt32 i, numberChannels, outSize =sizeof(AudioDeviceID);
AudioBufferList *mAudioBufferList;
AudioHardwareGetProperty(kAudioHardwarePropertyDefaultOutputDevice, &outSize, &mAudioDeviceID);
AudioDeviceGetPropertyInfo(mAudioDeviceID, kAudioPropertyWildcardChannel, false, kAudioDevicePropertyStreamConfiguration, &outSize, NULL);
mAudioBufferList = malloc(outSize);
AudioDeviceGetProperty(mAudioDeviceID, kAudioPropertyWildcardChannel, false, kAudioDevicePropertyStreamConfiguration, &outSize, mAudioBufferList);
numberChannels = mAudioBufferList->mBuffers[0].mNumberChannels; free(mAudioBufferList);
for (i=0; i<=numberChannels; i++) {
Boolean isWritable = false;
if (noErr != AudioDeviceGetPropertyInfo(mAudioDeviceID, i, false, kAudioDevicePropertyVolumeScalar, NULL, &isWritable)) continue;
if (isWritable == FALSE) continue;
AudioDeviceSetProperty(mAudioDeviceID, NULL, i, FALSE, kAudioDevicePropertyVolumeScalar, sizeof(Float32), &theVolume);
}
}
134:128
08/06/11 23:17:21 VSIeQFLB0
>130
確かにw 環境設定で制御できるようにしますw
>131
>133
できました! ありがとうございました!
135:名称未設定
08/06/11 23:23:57 lty4nRSj0
>>132
結局プログラムミスもあったのか
性格的に向いてないよ
136:名称未設定
08/06/12 04:36:35 gv1qz7ju0
>>132
設定はよかったんじゃないの?
10.5以降にしかないメソッドを普通に使って、何もしてなかったということではないのかな?
137:名称未設定
08/06/14 13:13:47 BS7eOK3p0
10.6はQuickTimeに大ナタを振るのか。
こりゃ、のたれ死にするアプリが続出する予感。
138:名称未設定
08/06/14 17:03:06 r3BUjdUn0
>>137
??
kwsk
139:名称未設定
08/06/14 18:15:22 chqMToVQ0
なんで開発してるのにWWDCの情報追っかけてないの?
140:名称未設定
08/06/14 18:44:58 FubexbBn0
>>137
んなこと言って無いが。QuickTime X、理解した?
141:名称未設定
08/06/15 00:47:11 Cygey6F/0
Quicktime「X」だなんて、いかにも
過去のレガシーAPIをバッサリいきそうな感じじゃない?
142:名称未設定
08/06/15 03:35:28 UNwFe1i20
>>140
大鉈ふるうんだと理解したけど。。??
143:名称未設定
08/06/15 08:19:09 XnhWKJTp0
URLリンク(hmdt.jp)
↑という事じゃないのか?
144:名称未設定
08/06/15 09:58:09 oSH6UPle0
いきなり旧APIが使えなくなる訳じゃないだろうね、普通。
っていうか、もうQTKitを使っているアプリならば、互換性の問題を
避けて楽にQuickTime Xが使えるようになるってことだと思う。
現状、QTKitの下のQuickTimeはレガシーAPIの固まり。QTがあんまりにも
あちこちで使われているものだから、上位Frameworkを用意してあげないと
ベースをすげ替えるのが困難だということですね。
・・・でも、QTKitって旧APIに相当する機能の大半を、今だに提供できて
いないんだが、ホントにこれですげ替え出来るのかね?
145:名称未設定
08/06/15 10:29:43 XnhWKJTp0
>>144
12^2オメ
と云うのはさておき、提供出来てない部分は切り捨てられる可能性がある、と云うことでは?
まあ何がサポートされていないのかは知らないので自身は無いが。
146:名称未設定
08/06/15 13:45:34 ylVUqXAE0
VR とか 3D とか MIDI とか Text とか使ってる人いるんかいな?
この辺が切り捨てられるんじゃ
147:名称未設定
08/06/15 14:07:25 wTLy4n/p0
メディアスキンとかね。
MIDIとTextは需要あると思う。
148:名称未設定
08/06/15 14:08:32 qeeMQ1ni0
VR はアップルの製品ページのギャラリー自体に使われてるので ...
149:名称未設定
08/06/15 14:19:47 wTLy4n/p0
もう今iPodぐらいしかVR使ってないんじゃん。
150:名称未設定
08/06/15 14:38:33 259xwVUM0
でも、来年初めにリリース&切り捨てなら、
今から「作り替えてくれ」なんてアナウンスしても遅すぎじゃない?
151:名称未設定
08/06/15 14:46:39 DgXC+pk00
>>149
Apple の公式にある VR のこと?
Mac Pro,MacBook Pro,iMac,MacBook,MacBook Air
Time Capsule,AirMac Extreme,Wireless Keyboard,Mighty Mouse
iPod classic,iPod nano,iPod shuffle,iPod touch,iPhone
ざっと調べただけだけどこれらのページにはあったよ。
Mac mini と AirMac Express には無いっぽい。
あと日本のページの MacBook の VR はリンク切れになってる。
152:名称未設定
08/06/15 14:53:05 wTLy4n/p0
>>151
あーあったw
iMac見たけど思わぬとこにあったわ
切り捨てはともかく、推奨しないってのはさんざん言ってきたような
移行期間は修了したってことじゃないかな
153:名称未設定
08/06/15 14:58:22 DgXC+pk00
普通はデザインのところにあると思うよなw
154:名称未設定
08/06/15 18:15:00 OFFyy1VM0
>>151
mini
URLリンク(www.apple.com)
Airport Express
URLリンク(movies.apple.com)
155:名称未設定
08/06/15 20:53:59 zzsH9bZe0
すみません初心者ですが質問です。
NSTableViewに自前のNSArrayの内容を表示するにはどうすればよいでしょうか。
URLリンク(hmdt.jp)
の最初の例を試してみるとちゃんと表示されたため、
awakeFromNibで自前のNSArrayを作る処理を足して、
NSTableViewにsetDataSourceしてみたのですが、コンソールに
Illegal NSTableView data source
<NSArrayの内容がずらずら表示>
Must implement numberOfRowsInTableView: and tableView:objectValueForTableColumn:row:
と実装済みなのに出てしまいます。
多分、途轍もなく初歩的な部分でつまづいているように思えるのですが、
どなたかソースを見て頂けないでしょうか。
URLリンク(www.uploda.org)
156:名称未設定
08/06/15 21:10:50 ylVUqXAE0
[tableView setDataSource:self];
ってやってみ。あと、
NSArray *datasrc;
の実体は何処にあるんだ?
とか色々妙な点があるので入門書を一冊買って読んだ方がいい。
157:名称未設定
08/06/15 22:07:18 S0ISsK4N0
setDataSourceに与える引数は,
numberOfRowsInTableView:と
tableView:objectValueForTableColumn:row:
がインプリメントされてる「クラス(のインスタンス)」
じゃなかった?
158:名称未設定
08/06/15 22:18:30 jWHLIZ5t0
プログラマは何もする事が無い。
QuickTime Xによる最適化された再生は重いH.264等で必要な一部のみ。
QTKitの再生以外を行うAPIはLeopardと同様に動作する。
159:155
08/06/15 22:35:19 zzsH9bZe0
>>156
エラーメッセージの意味が理解できました。
ありがとうございます。
>NSArray *datasrc;
>の実体は何処にあるんだ?
もうこの時点で意味が分からないので、ちょっと旅に出てきます。
現状、NSTableViewへのバインド数が画面表示分の行数を超えると、
datasrcにオブジェクトが1つしかなくなってしまって、エラーになるのも
多分この辺が原因な気もしますし。
PyObjCで作った時はあんなに簡単だったのに…orz
>>157
ということなんですね。エラーメッセージ通りの意味でした。
160:名称未設定
08/06/15 22:46:31 PLDEhANR0
なんだ。じゃぁ、Component Managerとかにがっつり手を入れてくるわけ
じゃないのか。残念。
想像するに、decompressorComponentTypeに代わる新規コンポーネント
タイプを定義して処理体系を分離するような感じか?
CoreVideo Pipelineにあうような実装変更とみた。
QT7でSoundManagerなStandardCompressionSubTypeSoundから、
CoreAudioなStandardCompressionSubTypeAudioにすげ替えたような
感じと想像。
これなら互換性は確保出来るだろうけど・・・
どうせなら、InterleavedとかInterlacedとかPlanarYUVとかの扱いにくさは
改良してほしいなぁ。
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5380日前に更新/288 KB
担当:undef