2ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

Cocoaはさっぱり!!! version.16

1 :名称未設定:2011/06/04(土) 13:42:22.12 ID:1uDUrmAL0
■関連スレ
Macでプログラミング{10}
http://hibari.2ch.net/test/read.cgi/mac/1248682344/
Mac OS XをUnixとして使ってる人の為のスレ 16
http://hibari.2ch.net/test/read.cgi/mac/1302132772/
Xcode part8
http://hibari.2ch.net/test/read.cgi/mac/1265669504/
MacでJava その4
http://hibari.2ch.net/test/read.cgi/mac/1214284891/
AppleScript アップルスクリプト 質問、発表 4
http://hibari.2ch.net/test/read.cgi/mac/1256127156/
[SDK]iPhoneアプリ開発初心者質問箱15[touch][iPad]
http://hibari.2ch.net/test/read.cgi/mac/1305798708/

Objective-C [ObjC part:5];
http://hibari.2ch.net/test/read.cgi/tech/1279730299/
【マック】Macintoshプログラミング質問箱
http://hibari.2ch.net/test/read.cgi/tech/1113058054/
【Cocoa】Macプログラマのスレ【Objective-C】
http://hibari.2ch.net/test/read.cgi/prog/1214208397/

■前スレ
Cocoaはさっぱり!!! version.15
http://hibari.2ch.net/test/read.cgi/mac/1277992217/

2 :名称未設定:2011/06/04(土) 13:42:49.15 ID:1uDUrmAL0
■過去スレ
01 http://pc11.2ch.net/test/read.cgi/mac/1007632025/
02 http://pc11.2ch.net/test/read.cgi/mac/1036923528/
03 http://pc5.2ch.net/test/read.cgi/mac/1063295248/
04 http://pc11.2ch.net/test/read.cgi/mac/1091927026/
05 http://pc11.2ch.net/test/read.cgi/mac/1124986925/
06 http://pc11.2ch.net/test/read.cgi/mac/1146391229/
07 http://pc11.2ch.net/test/read.cgi/mac/1161486802/
08 http://pc11.2ch.net/test/read.cgi/mac/1179498292/
09 http://pc11.2ch.net/test/read.cgi/mac/1201106820/
10 http://pc11.2ch.net/test/read.cgi/mac/1211290055/
11 http://pc11.2ch.net/test/read.cgi/mac/1224960170/
12 http://pc11.2ch.net/test/read.cgi/mac/1231853172/
13 http://pc11.2ch.net/test/read.cgi/mac/1241407525/
14 http://pc11.2ch.net/test/read.cgi/mac/1258249232/

3 :名称未設定:2011/06/04(土) 13:43:22.21 ID:1uDUrmAL0
■Web
Cocoa wiki
http://cocoawiki.aerial.st/index.php?FrontPage
Apple Developer
http://developer.apple.com/jp/
Cocoa Dev Central
http://cocoadevcentral.com/
CocoaDev
http://cocoadev.com/
Cocoa Blogs
http://cocoablogs.com/
Cocoaはやっぱり!
http://sitearo.com/
HMDT
http://hmdt.jp/
OOMORI.com - Cocoaリファレンス
http://www.oomori.com/cocoafw/
Cocoa Study Blog
http://blog.cocoa-study.com/
Cocoa Break!
http://park15.wakwak.com/~concordia/cocoa_break/
Cocoa Bindings Examples and Hints
http://homepage.mac.com/mmalc/CocoaExamples/controllers.html
Cocoaで遊ぼう!!
http://homepage.mac.com/t_yamane/prog/index.html
itok's Lab
http://110k.net/
Vacuous Virtuoso
http://lipidity.com/
MOSA テクニカルドキュメント
http://www.mosa.gr.jp/?page_id=19

4 :名称未設定:2011/06/04(土) 13:44:01.49 ID:1uDUrmAL0
■書籍
【Objective-C】
詳解 Objective-C 2.0改訂版「荻原本」(ソフトバンククリエイティブ 10/12)荻原剛志
Dynamic Objective-C「ダイナミック本」(BNN新社 09/3)木下誠

【Cocoa全般】
HappyMacintoshDevelopinTime 2nd Edition「黒本」(BNN新社 04/6)木下誠
HappyMacintoshDevlopingTime 3rd Edition「赤本」(BNN新社 06/5)木下誠
たのしいCocoaプログラミング「たのここ」(BNN新社 08/8)木下誠
CocoaではじめようMac/ iPhoneプログラミング入門(秀和システム 09/3)中野洋一
Mac OS X Cocoaプログラミング第3版「ヒレガス本」(ピアソンエデュケーション 09/11)アーロン・ヒレガス

【iPhone】
iPhone デベロッパーズ クックブック「エリカ本」(ソフトバンククリエイティブ 09/2)エリカ・サドゥン
iPhoneアプリケーションプログラミング(技術評論社 09/6)新居雅行
iPhone SDK アプリケーション開発ガイド(オライリージャパン 09/9)Jonathan Zdziarski
iPhone SDK 3 プログラミング大全(アスキー・メディアワークス 09/9)木下誠
基礎からのiPhone SDK 改訂版(ソフトバンククリエイティブ 09/10)鶴薗謙吾

ほか山ほど

5 :名称未設定:2011/06/04(土) 13:48:42.50 ID:ai/zYS7w0
ココアはやっぱり森永

6 :名称未設定:2011/06/05(日) 16:43:57.58 ID:4uUObKRC0
スレチはチラシの裏にでも書いてろ。

7 :名称未設定:2011/06/06(月) 14:43:43.28 ID:8c0RYdtc0
Cocoa bindigsについてよくわからない事があるんだけど、
IBを使ってbindを設定するときのbind相手が何を繋ぐべきかってのを知る方法ってあるんでしょうか?
例えば、NSColorWellのvalueにはNSColorをbindする。でもここにbindするのは何かってのは
IB上などからは解らないので知ってるものならいいけどそうでないのは結構難儀するんですが。


8 :名称未設定:2011/06/06(月) 15:28:58.90 ID:sSEElHN00
ツールチップにも出た気がするが、ドキュメントにあったような。
ここに全部のってるかな?
http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/CocoaBindingsRef/CocoaBindingsRef.html

9 :名称未設定:2011/06/08(水) 16:16:26.07 ID:fMFk2s/f0
id <NSMenuItem> menuItem;
menuItem = [[[NSMenuItem alloc] initWithTitle:@"Click Me" action:nil keyEquivalent:@""] autorelease];



NSMenuItem *menuItem = [[[NSMenuItem alloc] initWithTitle:@"Click Me" action:nil keyEquivalent:@""] autorelease];

の違いを教えてください

10 :名称未設定:2011/06/08(水) 18:33:49.30 ID:rTSZEj/j0
上の書き方はidが NSMneuItem プロトコルに適合したものなら何でも受け入れると宣言してある。

NSMenuItemプロトコルはLeopardで廃止になったので今は原則下の書き方をする事になる。


11 :名称未設定:2011/06/08(水) 18:36:38.73 ID:x/Sa2nGa0
>>9
昔はNSMenuItemというプロトコルに適合したオブジェクト(クラスは何でもいいけど、ほとんどの場合NSMenuItemクラス)
をメニュー項目として使っていたんだけど、今はNSMenuItemというクラス(かサブクラス)のインスタンスを使う
つまり上は古い書き方。ずいぶん前に非推奨になったはず

12 :名称未設定:2011/06/08(水) 19:25:30.24 ID:9J2tsECX0
わかりやすい回答、大変ありがとうございます。
と言う訳で、大量修正の発生です(笑)
LIONでも耐えてくれるかなあ。

13 :名称未設定:2011/06/08(水) 19:34:48.72 ID:4aqmGxsS0
どんだけ古いコード

14 :名称未設定:2011/06/08(水) 19:35:24.48 ID:rTSZEj/j0
既に書いてあるコードのメンテナンスなら別に動かなくなったりはしないので
時間との兼ね合いで考えるのがいいんじゃない?


15 :名称未設定:2011/06/08(水) 19:54:06.08 ID:kVTYB7+I0
s/id¥s*<NSMenuItem>¥s*/NSMenuItem */
でいいやん

16 :名称未設定:2011/06/10(金) 01:48:09.31 ID:R9BTYs5c0
RubyCocoaとかPythonとcocoaのスレってないの?

17 :名称未設定:2011/06/10(金) 06:14:19.77 ID:bRofu5DFi
余りの過疎さに消えていったな

18 :名称未設定:2011/06/10(金) 06:48:39.08 ID:EGfnoLQA0
まあここでいいんじゃないの?Cocoaだし

19 :名称未設定:2011/06/10(金) 07:47:51.47 ID:OndgszEp0
わざわざrubyとかで苦労するくらいなら、最初からobj-c選ぶよ

20 :名称未設定:2011/06/10(金) 18:59:45.61 ID:XKJRmHV60
>>最初からobj-c選ぶよ
まったく新規で始めるやつがRubyCocoaかObjective-Cで迷うわけないだろJK

21 :名称未設定:2011/06/10(金) 19:14:47.41 ID:QOJkGY030
ハイパーカードでおk

22 :名称未設定:2011/06/11(土) 00:58:16.66 ID:3XBV7rHm0
OCはつぶしが効かなさすぎるし、なんか変態言語って感じで嫌い。

23 :名称未設定:2011/06/11(土) 01:52:26.12 ID:KbBmnsfa0
あほくさ。
だったら、C#でも使ってろよ。

24 :名称未設定:2011/06/11(土) 05:28:24.37 ID:gUn0hcco0
そこはJava()だろ

25 :名称未設定:2011/06/11(土) 07:12:39.43 ID:qER5+xcGP
ARCすげー。Automatic Reference Counting。retain/releaseさようなら。

26 :名称未設定:2011/06/11(土) 08:37:53.50 ID:IPoIeJaG0
Is GC (Garbage Collection) deprecated on the Mac?
GC remains an option for development in Mac OS X v10.7.
You are strongly encouraged to consider ARC for new
development. For existing codebases (both manual
reference counting and GC), you are encouraged to
“test the waters.” This is, however, a non-zero amount
of work and you should weigh that effort with your other
priorities.

要は、GCは要らない子だってことじゃん。なんだかなぁ。

27 :名称未設定:2011/06/11(土) 09:26:49.56 ID:/DFpCIlC0
>GCは要らない子
周知の事実

28 :名称未設定:2011/06/11(土) 11:00:16.36 ID:O3zjEiD50
さよなrelease

29 :名称未設定:2011/06/11(土) 11:05:51.10 ID:aSpQ1F0gi
autorelease最強

30 :名称未設定:2011/06/11(土) 12:06:10.29 ID:8ad4pxdp0
http://developer.apple.com/jp/technologies/ios5/
...新しいApple LLVMコンパイラでARCを有効にすると、retainまたはreleaseを再度タイプする必要がなくなり、...
再度タイプってことは一度は打つのか?よくわからんな。

31 :名称未設定:2011/06/11(土) 12:15:12.41 ID:8ad4pxdp0
http://developer.apple.com/technologies/ios5/
...you will never need to type retain or release again,...
もうタイプすることは無いだろうってことかな?英文見てもわからん。

32 :名称未設定:2011/06/11(土) 13:03:58.84 ID:KbBmnsfa0
そりゃ、二度とタイプする必要がなくなるってことだ。
つまり、コードからratainとreleaseが消えると。

33 :名称未設定:2011/06/11(土) 14:34:06.69 ID:2LcBrBx80
でもやろうと思えば ARC の裏をかけるだろう。

34 :名称未設定:2011/06/11(土) 15:18:49.31 ID:OSHqOa+o0
コンパイラサポートって事だから静的解析の先にあるものかと思ったんだけど違うのか?

35 :名称未設定:2011/06/11(土) 15:39:29.70 ID:OSHqOa+o0
昔ながらのポインタの配列のキューとかでもちゃんと動くのかな?
昔ながらのポインタの配列のキューの場合、
プッシュするときに以前の値を上書きするだけでポップ時には配列に何もしないからね


36 :名称未設定:2011/06/11(土) 17:37:31.74 ID:a7eKnzq60
StoryBoardも、Dashcodeより簡単かも。
相当イッテマスネ。

37 :名称未設定:2011/06/11(土) 18:49:16.50 ID:qER5+xcGP
>>29
autoreleaseもさようなら。

38 :名称未設定:2011/06/11(土) 18:53:33.88 ID:qER5+xcGP
>>33
コンパイル通らない。

バイナリはiOS4/10.6でもOK!!

>>36
StoryboardはSegueのエディタだよ。
ViewControllerのナビゲーションを抽象化する。
Dashcodeとは全然違う。

39 :名称未設定:2011/06/11(土) 19:48:27.58 ID:b+OGWiVr0
64bitの.prefPaneはGC必須だった気がするが

40 :名称未設定:2011/06/11(土) 19:54:13.17 ID:/DFpCIlC0
Storyboardってフレームワークが増えたのかと思ってた。アプリケーションが増えたの?自分でdev見ろって話だが。

41 :名称未設定:2011/06/11(土) 20:26:41.27 ID:qER5+xcGP
>>40
Class。設定はXcodeのIBもどき。

42 :名称未設定:2011/06/12(日) 03:20:51.21 ID:Wzl1Qf6/0
全然違うのか、IBでInterfaceのモックアップだけなら大分作れそうなところとか、良さそうだけどね。

43 :名称未設定:2011/06/12(日) 06:53:12.13 ID:aCbOmgoK0
画面1 → 画面2 →……
ができるっぽい
nibはたぶん消滅

44 :名称未設定:2011/06/12(日) 07:03:47.41 ID:aCbOmgoK0
あ、無くなりはしないか
覚えることたくさんあって大変ね

45 :名称未設定:2011/06/13(月) 02:44:15.96 ID:7hwy3eRt0
まだ開発中なのだから何があってもおかしくないんだが、
ARC 有効にした時の fast enumeration の挙動が変だね。

for (id obj in [NSArray arrayWithObjects: @"one", @"two", @"five", nil]) {
^{ assert(obj != nil); }();
}

block の中で obj が nil になっちゃうよ。

46 :名称未設定:2011/06/14(火) 16:16:18.36 ID:lgE0ta9l0
位置情報のシミュレータでの動きは面白そうだけど、どうもUsetLocation の取得が出来る時とできない時があるみたい。
まだ、不完全なのかな?

47 :名称未設定:2011/06/14(火) 16:17:22.46 ID:lgE0ta9l0
表示はされてるのに 青丸 、
ゲット出来ない

48 :名称未設定:2011/06/22(水) 23:24:57.59 ID:N9wl1Z2RP
ファイルカットプロ。Cocoaで作り直しているな。プラグインのフレームワークをみたらObjective-C
になっている。



49 :名称未設定:2011/06/23(木) 02:36:59.80 ID:qLs4eXVj0
発表の時Cocoaベースで作り直したって言ってたじゃん

50 :名称未設定:2011/06/23(木) 03:35:17.80 ID:6azn1b/a0
>>47 ウチでも同じ。まだ、不完全かな。
Placemark が色々かわって、 geocording は MapKit でなくて CoreLocation でいけるよみたいな?

51 :名称未設定:2011/06/28(火) 18:08:29.46 ID:mng6QCQM0
Cocoaネイティブなゲームを作りたいのですが、ゲームパッド関連のAPIってありますか?


52 :名称未設定:2011/06/28(火) 18:31:08.72 ID:HQVEq+V80
たしか、ForceFeedbackフレームワークだっけ?
http://developer.apple.com/library/mac/#documentation/DeviceDrivers/Conceptual/HID/intro/intro.html

53 :名称未設定:2011/06/28(火) 18:36:12.92 ID:yFtS2bVE0
>>48 >>49
cocoaで作り直したはいいけど、機能削除、劣化で大不評みたいだね。

54 :名称未設定:2011/06/28(火) 18:44:14.96 ID:e69WmxfVP
間に合わなかったんだろ
プレミアに負けたくない一心で早とちったな

55 :名称未設定:2011/06/28(火) 18:49:23.62 ID:uUuARLqYi
iMovieでも9でタイムライン外して、時間やフレーム単位での映像と音の合わせが
出来なくなったし、おかしな方向に行ってるのは確かだよ。

56 :名称未設定:2011/06/29(水) 13:11:59.18 ID:9D9fDtj2i
http://taisyo.seesaa.net/article/212337517.html
うわあなんかメソッドの命名が素人臭くない?(笑)

57 :名称未設定:2011/06/29(水) 13:26:33.79 ID:nwLWQTx00
>>56
確かにw
参考までにお前のヘッダーファイルを晒してみてくれよw

58 :名称未設定:2011/06/29(水) 13:34:45.14 ID:C/4grpnd0
ていうか、よく見たら引数の型が全部idで引数名がarg1って。
これで本当にいいのか?


59 :名称未設定:2011/06/29(水) 14:13:28.58 ID:IMvR5y2a0
>>56-58
class-dumpの出力に何を高望みしてるのかな?

60 :名称未設定:2011/06/29(水) 14:20:15.82 ID:nwLWQTx00
釣りの邪魔をしないでくれ

61 :名称未設定:2011/06/29(水) 14:27:10.30 ID:XBJL/J5Mi
あーそうなんだ。それは知らなかった。
クラスダンプとかしたことなかったもんで(笑)
やっぱり俺は素人なんだなあ。

62 :名称未設定:2011/06/29(水) 20:54:37.64 ID:WbmzFZfo0
class-dumpさんを馬鹿にするのはやめろ

63 :名称未設定:2011/06/30(木) 18:15:59.92 ID:iKAalbPNi
質問です。
NSCalendarDateが10.6でdeprecatedなのですが、class referenceに代替クラスの記述がありません。

下記のコードを対応させたいのですが、どのように変更すればいいのでしょうか?
よろしくお願いします。(これとこれを使え、みたいな)

//
// "Sat, 24 Oct 2009 14:20:33 +0900" -> "2009/10/24 14:20" に変換する
//
NSString *dateString = @"Sat, 24 Oct 2009 14:20:33 +0900";

NSCalendarDate *calDate = [NSCalendarDate dateWithString:dateString calendarFormat:@"%a, %d %b %Y %H:%M:%S %Z"];
NSString *newDateString = [calDate descriptionWithCalendarFormat:@"%Y/%m/%d %H:%M"];

NSLog(@"newDateString=%@", newDateString);

64 :名称未設定:2011/07/01(金) 00:02:43.63 ID:rHWPS2BY0
>>63
http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/DatesAndTimes/Articles/dtCalendars.html


65 :名称未設定:2011/07/01(金) 00:29:20.00 ID:rHWPS2BY0
NSString *dateString = @"Sat, 24 Oct 2009 14:20:33 +0900";
NSDateFormatter *inputFormatter = [[NSDateFormatter alloc] init];
[inputFormatter setDateFormat:@"EEE, d MMM yyyy HH:mm:ss zzzz"];
NSLog(@"Date : %@", [inputFormatter dateFromString:dateString]);
[inputFormatter release];

Localeをちゃんと設定した方が安心かもしれない。NSDateになった後は好きに料理してくれ。


66 :名称未設定:2011/07/01(金) 23:27:36.54 ID:BdFY4B3/0
hdmi取り込みで映像加工とかだとまだココアだけじゃ無理過ぎるな。
h264ファイル直接取り込みもクイックタイムがサポートしてないし。
本格的なアプリ作ろうとするとココアだけじゃ完結しない。

なんかジャバアプリで作ってますって言いつつ裏でジェーエヌアイでごにょごにょしてるようなごまかしを感じるよな。
全部ココアで出来る日はいつなんだろう。

67 :名称未設定:2011/07/02(土) 02:13:49.03 ID:e7PPdLC40
必要に応じてライブラリ読み込めばいいじゃない。

68 :名称未設定:2011/07/02(土) 02:26:26.45 ID:fy4+9zzB0
>>66
http://developer.apple.com/library/ios/#DOCUMENTATION/AudioVideo/Conceptual/AVFoundationPG/Articles/00_Introduction.html#//apple_ref/doc/uid/TP40010188
これがほぼそのままMac対応になるので、そうなったら希望のことは出来るようになるはず。
まあ、「本格的」がどのぐらいを指すかはしらないけど、FCPXはこれを先行して使ってきているはずで、
バッシングも受けているが一応完結している。。


69 :名称未設定:2011/07/02(土) 02:26:59.72 ID:fy4+9zzB0
>>68
Lionでね


70 :名称未設定:2011/07/02(土) 08:16:22.94 ID:HrpOi9Yn0
http://hissi.org/read.php/mac/20110701/QmRGWTRCMy8w.html

71 :名称未設定:2011/07/02(土) 10:27:45.83 ID:6foep1ykP
GMc!

72 :名称未設定:2011/07/02(土) 11:25:55.23 ID:QkNWOdJs0
>>70
この人、本当にマク持っているのかな?妄想だけじゃ。

73 :名称未設定:2011/07/02(土) 12:09:47.13 ID:pSI6ie230
妄想じゃなくてネガキャン
いわゆる自宅ステルスマーケッター

74 :名称未設定:2011/07/02(土) 12:20:12.77 ID:ZA/FCQSt0
なるほど、基地外か。

75 :名称未設定:2011/07/02(土) 19:31:57.95 ID:2aLpkwPJ0
>>64 >>65
参考になりました。ありがとうございます。
しかし、面倒くさくなりましたね。

76 :名称未設定:2011/07/02(土) 20:02:20.37 ID:e7PPdLC40
NSDateのあれは、いい加減なんとかしてほしいと思う。

77 :名称未設定:2011/07/02(土) 22:46:32.42 ID:JuLG2BJr0
何でNSCalendarDateをdeprecatedにしたのかわからんね。
おかげで面倒くさい。

俺はNSDate, NSCalendar, NSDateCompnentsの合わせ技を使ってる。
確かリファレンスに出ていたと思うけど

78 :名称未設定:2011/07/03(日) 18:54:09.36 ID:ZcXC4z0z0
releaseについて質問なのですが、下記のコードの場合
imageのreleaseはどこですれば良いのでしょうか?
(コードはちょっと適当です)

- (NSImage*)imageFromFile:(NSString*)filePath
{
// NSImage *image = [[[NSImage alloc] initByReferencingFile:filePath] autorelease];
NSImage *image = [[NSImage alloc] initByReferencingFile:filePath];
return image;
}

79 :名称未設定:2011/07/03(日) 19:25:31.45 ID:dadLZpo10
returnする時に、autoreleaseしたものを返す。
後は、呼び出し元が管理すれば良い。

80 :名称未設定:2011/07/05(火) 00:16:47.14 ID:z1pSK4Uk0
>>77
もともとNSDateのサブクラスでCalendar計算とCalendar文字列の扱いという複数の機能を
一緒に持っていたけど、一方はLocaleに非常に影響されている上、ISOカレンダーとの互換の
問題もあったので、
NSCalendarDate.h に書いてある通りそれらの機能をNSCalendarとNSDateFormatterに分けた
分けたら当然重複機能を矛盾なくメンテナンスするのは面倒なのでdeprecated。

現状のものと現状で互換があるものを作るのはそんなに大変じゃないので
必要だと思えば自分で作ってメンテすれば良い。


81 :名称未設定:2011/07/05(火) 02:17:10.00 ID:qtrjL2PT0
HID Utilitiesの使い方がさっぱりわからない
日本語ドキュメントどこかにないでしょうか?

82 :名称未設定:2011/07/05(火) 10:23:22.74 ID:kCoiKUpN0
頑張って英語読め。

83 :名称未設定:2011/07/05(火) 12:18:57.07 ID:kCoiKUpN0
Queueとかは解らんけど、値とるだけならこんな感じかな?
IOHID***GetTypeIDとか省略してるんで、TN2187とかみて適宜いれてくれ。
間違ってるところはツッコミよろしく。
http://paste.bradleygill.com/index.php?paste_id=301204

さっぱり解らんだけでは、
何がしたいのか解らんからこっちが回答できるレベルの質問かどうかも解らん。

84 :名称未設定:2011/07/08(金) 11:47:46.08 ID:YTs4sl8P0
他人の気持ちがさっぱりわからない
何語でもいいからドキュメント欲しいわ

85 :名称未設定:2011/07/08(金) 12:23:44.46 ID:0XbcuwQK0
流石に英語ならあるだろ。

86 :名称未設定:2011/07/11(月) 04:14:44.89 ID:bJcQN9YF0
>>80
「ISOカレンダーとの互換の問題」とは具体的にはどういうことでしょうか。

87 :名称未設定:2011/07/11(月) 10:42:34.91 ID:Zz6KkASV0
deprecatedはいいんだけど、それが本当に使えなくなるのは
いつなのかわかる資料はありますか?

ここらへんは実はグダグダ?

88 :名称未設定:2011/07/11(月) 11:18:46.81 ID:S3463i2L0
ないよ。宣言されてるんだから、突然廃止されても文句は言えない。
宣言されたOSの二世代くらい後と見ておけばいいんじゃないか。

89 :名称未設定:2011/07/11(月) 14:25:41.74 ID:tABL9fOY0
>>86
ISO 8601 読め

90 :名称未設定:2011/07/11(月) 15:53:52.40 ID:FeQ/U6Sx0
俺的には1世代後かな。deprecatedになって即使えないってのもたまにあるし近年スパンが短い気がする。

91 :名称未設定:2011/07/11(月) 16:08:05.32 ID:Ru7Yk1+T0
10.5で大量に出たdeprecatedが10.7で使えなくなると、
大量に爆死するアプリが出るんじゃないかな。


92 :名称未設定:2011/07/11(月) 16:09:32.93 ID:BowlQNl5P
64bitでバッサリはたくさんあるぞ。

93 :名称未設定:2011/07/11(月) 16:27:24.05 ID:n6zIJVe5i
一番欲しいのは、OSヴァージョンとdeprecatedのAPIが掲載された一覧なんだけど、なんでないんだろ?
いつもリファレンスライブラリで調べたいAPIの所で偶然見つけるしか方法が無いのかな?
そんなわけ無いと思うんだけど、いくらぐぐっても一覧らしきものが出でこない。

みんなどうやって調べてるの?

94 :名称未設定:2011/07/11(月) 16:37:33.67 ID:TPkmGxEV0
一番簡単なのはSDKを切り替えてビルドする
古いSDK取って置かないとダメだけどね

xcodebuild で -sdk 使えば早そうなきがする

95 :名称未設定:2011/07/11(月) 16:40:25.20 ID:S3463i2L0
>>93
ヘッダにも出てる。

96 :名称未設定:2011/07/11(月) 16:47:43.71 ID:khyyOrtg0
根本的にXcodeは常に最新にしないとだめですか10.5でXcode3.xとかだめですかそうですか。

97 :名称未設定:2011/07/11(月) 16:51:23.74 ID:S3463i2L0
対応OS次第

98 :名称未設定:2011/07/11(月) 17:00:51.22 ID:TPkmGxEV0
grep -R --include='*.h' DEPRECATED /path/to/SDK | ほむほむ
とかやれば一覧表作れそうだけど?

99 :名称未設定:2011/07/11(月) 18:57:31.02 ID:apdQMTlF0
>>93
> いつもリファレンスライブラリで調べたいAPIの所で偶然見つけるしか方法が無いのかな?

俺としては、それで不都合ないのだが。

仮に一覧があったとして、それをどう活用する?

100 :名称未設定:2011/07/11(月) 19:05:18.52 ID:dyi64kpP0
え?
自分のプロジェクトでdeprecatedなメソッドがないか調べるんですよ。


101 :名称未設定:2011/07/11(月) 19:13:09.67 ID:TPkmGxEV0
警告出るでしょ?

102 :名称未設定:2011/07/11(月) 19:21:26.81 ID:apdQMTlF0
ビルドしたら、deprecatedなメソッドはワーニングになるよね?
Xcode4なら、テキストエディタに書いた瞬間にワーニング表示されるよね?
ビルド設定の「Warn About Deprecated Functions」は、デフォルトで有効だよね?


103 :名称未設定:2011/07/11(月) 19:23:31.61 ID:dyi64kpP0
>>101 >>102
>>96

104 :名称未設定:2011/07/11(月) 19:31:59.88 ID:TnqF3M6L0
「新しいMacを買えない貧乏人はアプリを作らなくて結構」

ジョブズ様はそう仰っています。

105 :名称未設定:2011/07/11(月) 19:43:47.34 ID:FeQ/U6Sx0
10.6も用意せずに10.6対応のアプリを作ろうとしてるのか。

106 :名称未設定:2011/07/11(月) 19:46:33.06 ID:apdQMTlF0
あれ?
deprecated警告ってgcc4.0ぐらいでも実装されてたよね?
Xcodeだけじゃなく、gccのバージョンも古い?
まさか、deprecatedになっていない古いSDKを選択してないよね?

107 :名称未設定:2011/07/11(月) 20:06:01.79 ID:/xXr8KUA0
>>103
ほとんどの場合、deprecatedになると同時に代替メソッドが追加されるから、
古いSDKでは新しいSDKのdeprecatedは回避出来ない。

108 :名称未設定:2011/07/11(月) 20:19:27.62 ID:gVpM3qFp0
みんな最新OSに最新開発環境なんだ、いいなあ。
これからもずっとそうなんだ、凄いなあ。

自分の環境環境より上のバージョンで何が非推奨になるかなんて
知る必要もないんだ、羨ましいなあ。

109 :名称未設定:2011/07/11(月) 20:35:18.96 ID:0qUhdgTW0
そういう古い開発環境を使ってる割には知りたがりの人のために
>OSヴァージョンとdeprecatedのAPIが掲載された一覧
をPDFにして売ったらそこそこ売れるかも、毎コミさん出番ですよ

110 :名称未設定:2011/07/11(月) 21:04:16.98 ID:TnqF3M6L0
>>108
バイトでもして新しいMac買え

111 :名称未設定:2011/07/11(月) 21:11:51.66 ID:/xXr8KUA0
>>108
そんなに最新情報が欲しいなら最新SDKだけインストールすれば良いじゃん
何甘えてるの?

112 :名称未設定:2011/07/11(月) 22:00:42.67 ID:tABL9fOY0
>>107
でも「deprecated」である限りは、「まだ使えてる」よね。次はなくなる覚悟して作る必要があるだけで。
つまり、これが出てるときのバージョンで回避すれば両方対応のものが作れる。


113 :名称未設定:2011/07/11(月) 22:02:36.84 ID:HyXbf3uP0
凄いねこりゃ「最新以外は悪」か。別にいいけどさ。
こりゃMacのアプリが増えていかないのもわかるよ。
(変わりに少し前のがどんどん動かないまま放置されていく)
iOSも5になってそろそろ古い環境の人も出てくると思うけど大変だね。

一覧化されたドキュメントが無いことがわかっただけでもありがたい。
それでは、ありがと。

114 :名称未設定:2011/07/11(月) 22:03:15.56 ID:TqbkC6TF0
何言ってんだこいつ。

115 :名称未設定:2011/07/11(月) 22:05:41.83 ID:uVQWvkq40
たまに自分の作ったアプリを「deprecated」したくなるときね?

116 :名称未設定:2011/07/11(月) 22:24:13.70 ID:FeQ/U6Sx0
>>108
最新のと古いの両方環境用意しておくに決まってるだろ。甘えたこと言うならコード書くの辞めちまえ。
>>凄いねこりゃ「最新以外は悪」か。別にいいけどさ。
この思考回路はガキかキチガイ

117 :名称未設定:2011/07/11(月) 22:26:13.12 ID:/xXr8KUA0
>>114
よくわからんね
分かっても回避出来ないって教えても変な返答来るし、
調べ方教えても試す気どころか、聞く気もないし

「最新以外は悪」じゃなくて「怠惰は悪」だよね


118 :名称未設定:2011/07/11(月) 23:19:00.28 ID:aADyca2/0
deprecatedなメソッドの中でも呼ぶとコンソールに警告出るようなのが
いち早く消えるのではと勝手に判断しているけどどうなんだろう。

自分は旧OSとの互換性維持のために、カテゴリで共通のメソッドを作って
内部ではrespondsToSelectorで調べてから新メソッドと旧メソッドを呼び分けるようにしている。

119 :名称未設定:2011/07/12(火) 00:25:00.20 ID:ZZjWZo/t0
>>117
「怠惰が悪」とまでは言わないが、一人で勝手に悩んでいれば良いと思う。

120 :名称未設定:2011/07/12(火) 00:38:14.50 ID:rAr9sbAw0
ただねぇ。開発はいいんだけど、ユーザーが脱落していくのがね…

121 :名称未設定:2011/07/12(火) 01:15:59.63 ID:DGa0vBQ30
もうほとんどが10.6に移行してるんだから、10.5とかは切ればいいっしょ。
少なくとも10.4はもういいだろ。
http://heylennon.posterous.com/-mac68os-snow-leopard24leopard

122 :名称未設定:2011/07/12(火) 01:26:53.57 ID:9xCfikcu0
OSバージョンがどうのよりも
PowerPCを切るかどうか悩むなあと対外的には発言しつつ
実際にはIntelビルドしか用意しない俺が来ましたよ
(PPCユーザにはソース公開してますから自力で...と)

123 :名称未設定:2011/07/12(火) 11:12:01.46 ID:LzhRYwrgi
何このブロパガンダ
キモチワルイ

124 :名称未設定:2011/07/12(火) 11:29:41.83 ID:ZZjWZo/t0
プロパガンダって言いたいだけだろ?

125 :名称未設定:2011/07/12(火) 13:25:19.10 ID:rwWgQweB0
プロパ・ガンダム、出るぞ!

126 :名称未設定:2011/07/12(火) 13:51:38.24 ID:zZtK8XMt0
ここまでのまとめ

・OS(SDK)バージョンとdeprecatedになったクラス/メソッドが一覧化されたドキュメントは存在しない。
・自分の開発環境より上のバージョンでdeprecatedになったクラス/メソッドを知るには、一つ一つ調べるしかない。
・Macのアプリ開発者たるもの常に最新OSにすべき、また古い環境もそろえるべき、甘えんな。

ここは魁!Cocoa塾かよ(笑)

127 :名称未設定:2011/07/12(火) 14:35:34.31 ID:ALhZ+EiK0
>>126
おい!
>>115が入ってねえぞ

128 :名称未設定:2011/07/12(火) 14:48:50.54 ID:uH0gzWu20
>>126
だから SDKだけ最新にしろって言ってるだろ
お前馬鹿か?

129 :名称未設定:2011/07/12(火) 15:13:16.09 ID:DGa0vBQ30
>>126
男塾ネタはそろそろdeprecated。

130 :名称未設定:2011/07/12(火) 15:27:08.17 ID:QB4hOKv9P
>>127-129で、
一人だけ必死な奴がまだいるな(笑)


131 :名称未設定:2011/07/12(火) 17:08:21.81 ID:0/QhedAYP
API diffにdeprecatedは出てるよ。
新しいSDKでワーニング吐かせるのが正解だとおむけそ。

132 :名称未設定:2011/07/13(水) 10:52:00.82 ID:Ixr6U5NR0
基本的にdeprecatedなコードを使わない限り、古いOSバージョンで開発したアプリも
新しいOSバージョンで動く。(この前提が崩れたら大変だけど)
すなわち、deprecatedなコードを常に把握できれば、新しいバージョンのOSに対応する
アプリの修正も可能であるし、その都度、何がdeprecatedなのかをリファレンスか
ヘッダファイルをしらみ潰しに探さなければならない開発者の負担も軽減する。

133 :名称未設定:2011/07/13(水) 14:14:32.98 ID:pXyxia6Y0
最近こういうのがあるらしいよ
http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSString_Class/DeprecationAppendix/AppendixADeprecatedAPI.html

134 :名称未設定:2011/07/13(水) 15:45:10.91 ID:R/565lC20
今後、ムービーの再生処理は、NSMovieやQTMovieは非推奨になるの?
deprecateが大量にあるんだけど、代替処理がなくてしかたなくそのまま使ってる。

それどころか64bit環境にも高速に動作する同等の処理がないから、ムービーを細かく制御するソフトが
32bitから身動き取れないんだけど、みんな困ってない?

動画制御なんてやってる物好きが少ないのか…


135 :名称未設定:2011/07/13(水) 17:31:26.91 ID:wuAiDL8/0
たまに話題になってるから、困ってる奴はいるんだろう。

136 :名称未設定:2011/07/13(水) 18:24:14.61 ID:fnBBDHOZ0
基本的に通称「QuickTime7系」は無くなると考えておくべきだろう。
コアの開発者(Peterはkinomaばっかりやってるのかな?)が抜けてからQuickTimeは迷走を続けてるからな。
ここら(AVFoundation)で一区切りつけたいんじゃない?



137 :名称未設定:2011/07/13(水) 22:52:22.35 ID:klpCoYmn0
>>132
> 基本的にdeprecatedなコードを使わない限り、古いOSバージョンで開発したアプリも
> 新しいOSバージョンで動く。

その前提、なんか変じゃない?
古いOSでdeprecatedではないコードが、新しいOSでdeprecatedなコードになるわけだから。
あえて言うなら、
「古いOSでdeprecatedなコードを使っておらず、新しいOSでも運良くdeprecatedにならなければ、
古いOSバージョンで開発したアプリも新しいOSバージョンで動く。」
ということだろう。

138 :名称未設定:2011/07/13(水) 22:56:27.93 ID:klpCoYmn0
もしかして、新しいOSでdeprecatedではないAPIが、古いOSには存在してない、という可能性を失念しているのか?


139 :名称未設定:2011/07/13(水) 23:22:10.44 ID:fnBBDHOZ0
まあ、deprecatedなうちはまだ「ある」んだがね。


140 :名称未設定:2011/07/13(水) 23:39:25.02 ID:klpCoYmn0
>>139

ん?

「新しいOSでdeprecatedでは無いAPI」というのは、
古いOSのときからdeprecatedではなかったか、
または、新しいOSで新設された、という意味なのだが?

141 :名称未設定:2011/07/14(木) 00:08:56.73 ID:q/FpzKSL0
>>140
>>137
>新しいOSでも運良くdeprecatedにならなければ、
がおかしい。「新しいOSで運悪くdeprecatedになっても動く」
なんで古いOSで動く物が前提なのに新設APIの話が出てくるのやら。

142 :名称未設定:2011/07/14(木) 10:17:31.10 ID:96UYWWiqP
1. Deprecatedを宣言
2. Headerから落ちてビルド不可
3. Libraryから落ちて実行不可
大抵メジャーアップデートで一つづつ。

143 :名称未設定:2011/07/14(木) 17:46:14.13 ID:QpYtmvJB0
ヘッダから消えても警告増えるだけじゃないの。

144 :名称未設定:2011/07/14(木) 17:54:39.98 ID:RQPtoE/v0
>>142
SetCurrentA5()とか凄いのもまだ残ってるぞw
ちなみにA5ってMC68000のA5レジスタのこと

145 :名称未設定:2011/07/15(金) 11:29:40.05 ID:GGoURjjC0
英語ワールドとも呼ばれていたなぁ。システムだったかToolboxのポインタが
格納されてるんだっけ?

Classic環境が消された時点で用済みだけど、何で残っているのか疑問。

146 :名称未設定:2011/07/15(金) 13:22:07.63 ID:r86FAd210
>>145
low-memory Globalのポインタが入っているんだが、
こんな事を言う奴が将来に向かって互換性のないアプリケーションを作るんだろうな。


147 :名称未設定:2011/07/15(金) 20:28:01.10 ID:enOiPCCp0
いきなり殺伐とし始めたな

148 :名称未設定:2011/07/16(土) 22:17:38.19 ID:/eMmNALc0
例えば10.5でアプリを開発してる人が今度の10.7で動くか確認したい場合、
deprecatedなAPIの一覧がない場合にどうすればいいんですかね?
自分のソースコードからメソッドを一つ一つリファレンスベージを見て探すなんて
ナンセンスだし。

容易に調べる方法がないんですよね?

149 :名称未設定:2011/07/16(土) 22:28:17.07 ID:OubAZbNe0
Beige

150 :名称未設定:2011/07/16(土) 22:41:02.19 ID:6tdHQcnF0
>>148
動作確認を怠る開発者がナンセンスだろ。
未確認なら対応OSを10.5までと書いておけ。

151 :名称未設定:2011/07/16(土) 22:42:58.40 ID:MD+0JTiX0
>>148
あのね、現実には実際に10.7で動作確認するんだから。
そんな一覧で調べて動くなんていうつもり?

152 :名称未設定:2011/07/16(土) 22:46:44.54 ID:nh8DkmAt0
で、Lionは来週出るのかい。出ないのかい。どっちなんだい。

153 :名称未設定:2011/07/16(土) 22:54:44.71 ID:iFOcOFs+0
>>151
動いても実際には非推奨だったりするでしょ

154 :名称未設定:2011/07/16(土) 23:04:23.90 ID:6tdHQcnF0
>>153
10.7でビルドすれば警告出るだろ。

155 :名称未設定:2011/07/16(土) 23:11:03.07 ID:vD3akg5Z0
それにしても、なぜこの人は「ビルドすれば警告出る」という話を無視し続けるのだろうか?

156 :名称未設定:2011/07/16(土) 23:16:53.16 ID:6tdHQcnF0
ループが好きなんだろ。

157 :名称未設定:2011/07/16(土) 23:22:17.75 ID:JaTrUisa0
>>148
http://developer.apple.com/jp/documentation/DeveloperTools/Conceptual/cross_development/Using/chapter_3_section_6.html

ループしたいのだろうけど、このページにもあるようにdeprecatedな関数は無くなってはいないからな。


158 :名称未設定:2011/07/17(日) 00:32:00.62 ID:eHWxL4ba0
公式から情報探せないようなやつに構う必要無し
そもそも探す気がないからここで煽って聞いてるんだろうが

159 :名称未設定:2011/07/17(日) 03:27:34.46 ID:2vADQBwk0
やっぱり「最新にしろ」と言うのが大前提なんですね。
そこから話は進まないというか、それ以外のケースは質問すらするなというか。
なんだろう、この排他的な感じは。

160 :名称未設定:2011/07/17(日) 03:41:25.68 ID:rwKzuezk0
ちょっと聞いときたいんだが、
X codeを4.0.2にできない理由って何なんすか?

161 :名称未設定:2011/07/17(日) 04:26:12.06 ID:eHWxL4ba0
ダメだこれ、俺はもう匙を投げるよ。時間の無駄

162 :名称未設定:2011/07/17(日) 06:32:48.73 ID:pcYboX220
誰もやらない奇特な行為をやろうとして、そのくせ
「非効率でナンセンス」ですね。
ときたものだwww
これがゆとり世代ってやつか。

163 :名称未設定:2011/07/17(日) 06:57:05.15 ID:vOgCaDnJ0
>>159
別に最新にしなくても開発はできるよ。ただ、最新のやつと同じ事が出来ると思うな。
お前の主張はPhotoshop1.0を使ってるやつが「レイヤー使えないなんて排他的だ」と言うのと同じ。

164 :名称未設定:2011/07/17(日) 07:28:26.74 ID:hqfUAYnF0
一応ここのスレは突き放さない方向性だし、
それを踏まえて、十分親切に答えてたよね。
それで排他的とかなんて恐ろしい子(文字通りの意味で)

165 :名称未設定:2011/07/17(日) 08:11:23.45 ID:NcL8KaX00
>>159
自分の都合通りに物事が進まないと、
何でも排他的になっちゃうのかw

166 :名称未設定:2011/07/17(日) 10:13:51.64 ID:E4ASz9260
10.8でなにがdeprecatedになるか解らないのに10.7のSDKでそれを調べる方法がありますか?

って質問に近いな。


167 :名称未設定:2011/07/17(日) 13:21:27.27 ID:c9qhdCMY0
そもそもdeprecatedなAPIを使ってるかどうか以前に
当該OSで動作確認しないと話にならん

168 :名称未設定:2011/07/17(日) 14:07:11.39 ID:fzjlEu+Ki
「最新にしろ」「動作環境を複数持つのは当たり前」を連呼するだけで
他の意見は受け入れない、それを排他的と言うんですよ。
まあ、1人の人間がやたら噛み付いているだけですけどね。

169 :名称未設定:2011/07/17(日) 15:39:57.06 ID:1E0nVdXZP
>>168
Xcode3の10.4SDKを残したまま、Xcode4の107.SDKも入れられるんだから、
面倒くさがってるとしか思えない。古いOSしか動かないマシンだと言うなら、
最新のOSに対応するソフト開発する事自体が無理でしょ。

170 :名称未設定:2011/07/17(日) 15:39:59.25 ID:NcL8KaX00
>>168
ごめん、他の意見て何?w

171 :名称未設定:2011/07/17(日) 20:10:28.61 ID:vZOEOl0I0
どもども、いろいろ機能を追加したMacVideoDL v2.0をリリースしました。
http://macapps.web.infoseek.co.jp/macvideodl/

- 対応サイトのアイコン表示を追加
- 動画情報ウィンドウを追加
- サイトのリソース一覧を追加

お試し下さい。
>>172
タブ表示って(私にとって)かなり難易度高いんですよね(笑)
これが実装出来たらほとんど新しいブラウザが完成なんですけど。

>>173
Craving Explorerはすごいですね。再生ページをロードせずに動画ファイルのURLを探すのはすごいです。
一応、SafariのブックマークをMacVideoDLのブックマークにドロップすれば登録出来ます。
フォルダ丸ごとは無理ですけど。



172 :名称未設定:2011/07/17(日) 20:14:52.66 ID:vZOEOl0I0
すみません。誤爆しました(笑)
マカエレ頼みますよ(笑)

173 :名称未設定:2011/07/17(日) 23:18:51.24 ID:vOgCaDnJ0
>>170
俺も同じ事おもた

174 :名称未設定:2011/07/18(月) 00:34:31.91 ID:eICk7WwO0
>>168
最新にする必要はない。が俺は匙を投げたので言えるのはここまでだ。排他的な思考のまませいぜい頑張れ。

175 :名称未設定:2011/07/18(月) 06:27:09.66 ID:NfwBm6330
敗者的思考ですね、わかります

176 :名称未設定:2011/07/18(月) 09:06:54.27 ID:IkwL1+1K0
何と戦っているのかな?

177 :名称未設定:2011/07/18(月) 11:26:44.33 ID:/upoe7Eu0
七人の敵と。

178 :名称未設定:2011/07/18(月) 23:49:13.11 ID:1OCSS/gb0
>>168
MacOSX10.5でMacOSX10.6対応のアプリを作ろうとしているのか?
もっと具体的な話をしてもらわないと、話はこじれる一方だ

179 :名称未設定:2011/07/19(火) 00:00:58.55 ID:BbqCKNMi0
intelMacが無い、または英語版Xcodeが使えない。
あるいは、PowerPC版を作る必要がある。

どれかでしょ。

180 :名称未設定:2011/07/19(火) 05:55:37.00 ID:z5Kv3fLx0
そもそもMacを持っていない。

181 :名称未設定:2011/07/19(火) 07:41:26.62 ID:wQ9bzVQm0
10.7をスルーする理由は
Hackintoshであるじゃねw

182 :名称未設定:2011/07/20(水) 14:03:44.85 ID:rLh0zUkZ0
base SDK のバージョンをあげたら NSDeviceBlackColorSpace が deprecated だという警告が出るようになったんですが
この定数は何に置き換えたらいいんでしょうか?ドキュメントやヘッダーファイル見ても代替の指定が出てませんでした。

183 :名称未設定:2011/07/20(水) 16:40:51.62 ID:SgMNfiQU0
DeviceWhiteにして1.0から引けばいいじゃない

184 :名称未設定:2011/07/21(木) 12:27:55.99 ID:bipoCgZq0
Lionでの動作確認、みんなもうやった?

185 :名称未設定:2011/07/21(木) 22:34:44.18 ID:lUDQP0Dj0
Xcode4.1が無料に戻ってますね。
あの600円って、いったい何だったんだ。。。

186 :名称未設定:2011/07/22(金) 06:30:08.57 ID:4E9OUWYv0
有料ベータテスト

187 :名称未設定:2011/07/22(金) 09:33:06.02 ID:yXp3meQB0
FaceTimeと同じで会計上の何やかやがあるんだろ

188 :名称未設定:2011/07/22(金) 10:14:16.82 ID:RBImnIXZ0
まあ600円でとやかくいうな。
開発環境として思えば、ただも同然だ。

189 :名称未設定:2011/07/22(金) 12:57:49.08 ID:2NE+xNLyP
>>184
実はみんなアプリなんて作ってないから。
というのは冗談半分で、俺のは問題なかったよ。

190 :名称未設定:2011/07/22(金) 20:08:54.53 ID:F11Gmiy50
>>184
俺の10.4用のソフトは半死した;;
10.6までは正常に動いていたんだけどね

191 :名称未設定:2011/07/22(金) 21:04:40.97 ID:2wWalnX+0
自作2本は問題なかった。

192 :名称未設定:2011/07/22(金) 21:32:46.55 ID:n8HDP13F0
NSCalendarDateを使ってるうちのも動いてる。
とはいえ、そろそろ改修するか……。

193 :名称未設定:2011/07/23(土) 01:09:37.35 ID:aOTllVp10
>>190
それってクラッシュ? それとも単に挙動がおかしい?
実はPowerPCバイナリだとかw

194 :名称未設定:2011/07/23(土) 02:33:00.53 ID:iqCMgHKc0
>>193
AUGraphでMusicシンセを使っているんだが、音を鳴らそうとした瞬間にクラッシュします。
AUGraphを構築するためのAPIがDeprecatedになっている辺りが原因かと。

195 :名称未設定:2011/07/23(土) 14:06:54.03 ID:zOdNyiW50
>>185
サーベンス・オクスリー法

196 :名称未設定:2011/07/23(土) 18:24:42.09 ID:0rR6IpBr0
さよならNSCell

197 :名称未設定:2011/07/23(土) 23:40:04.45 ID:UCccaLHZ0
IDがCocoaかと思ったら違った

198 :名称未設定:2011/07/25(月) 11:41:26.46 ID:sMxWCtM80
NSDocumentにカテゴリーを使って内部のインスタンス変数を書き換えてたのが
ダメになった。落ちることはないが、アラートが出まくりで大変。

ま、俺が悪いんだけどね。ただ、欲しいAPIがないので他の手が使えない。

199 :名称未設定:2011/07/25(月) 18:49:34.05 ID:bXMBXXBV0
その「内部のインスタンス変数を書き換え」って何?
setterとは違うもの?

200 :名称未設定:2011/07/26(火) 07:37:34.67 ID:1pVwphp30
setterなんだが、そのsetterが用意されてないというか公開されてない
のでカテゴリーで処理した。自己責任だから仕方がない。

201 :名称未設定:2011/07/26(火) 18:47:05.21 ID:WgIjKFyR0
@implementation NSDocument (hoge)

- (void)setMyWindow1:(id)win {
_window = win;
}

- (void)setMyWindow2:(id)win {
[self setValue:win forKey:@"_window"];
}

- (void)setMyWindow3:(id)win {
object_setInstanceVariable(self, "_window", win);
}

@end

とりあえず、2番と3番は10.7(64bit)ではエラーもアラートも出なかったよ。
1番は10.7(32bit)ならエラー出なかった。

まあ、それ以前にプライベートな部分を使わなくても良いように、設計を見直した方がいいと思うけど。


202 :名称未設定:2011/07/27(水) 13:24:33.52 ID:peJAsuEe0
>>201
トンクス。

書いたのは1だけど、key value codingの方が安全なのか?
どちらにしても公開されていないインスタンス変数を利用してるので仕様が変更
されたりすると一発でアウトになってしまう。公開されていないのを勝手に使って
いるわけだから文句も言えない。

別の方法を考えるか、最悪諦めるか、だね。

203 :名称未設定:2011/07/28(木) 18:58:38.37 ID:enBHFXOE0
>>202
で、結局プライベートに手を出してまで何をしようとしていたの?
俺としては、NSDocumentのプライベートに興味をそそられる部分は無いのだが。

204 :名称未設定:2011/07/29(金) 18:58:03.44 ID:L5a8NMT5O
複数のウインドウを開くアプリで、ウィンドウ1(全面NSTextView)、ウインドウ2(HUDパネル、NSTextFieldをもつ)があります。
起動させるとファーストレスポンダがウインドウ2のNSTextFieldにフォーカスされるのですが、これをウインドウ1のNSTextViewにフォーカスさせるようにするには、どうすればいいのでしょうか?

205 :名称未設定:2011/07/29(金) 19:39:52.99 ID:kCiFJHtc0
ウィンドウ1をmainWindowに指定するのかな。たぶん。

206 :名称未設定:2011/07/29(金) 21:50:05.17 ID:ivuphmUG0
正確にはmainWindowじゃなくて、keyWindowの方かな?

[window1 makeKeyAndOrderFront:self];

[window2 orderFront:self];

起動時に上記コードでウインドウを表示させればいい。
-[NSDocument windowControllerDidLoadNib:]とか-[NSWindowController windowDidLoad]とか- awakeFromNibとかで。
上記の2つのコードは、それぞれ別の場所に書かれていてもいいし、呼び出しの順番もどうでもいい。
ただし、nibファイルのNSWindowの設定で、「Visible At Launch」のチェックは外しておくこと。

(関連)
- [NSWindow setInitialFirstResponder:]

207 :名称未設定:2011/07/30(土) 23:08:02.01 ID:IK7PROgdO
NSTextViewから入力中の文字列の長さを取得ってできないの?

208 :名称未設定:2011/07/30(土) 23:40:36.65 ID:cU9ofk830
エディットされた時に呼ばれるメソッドでtextStorageからNSStringにしlengthとか。

209 :名称未設定:2011/07/31(日) 01:07:25.58 ID:CbPSx7JC0
>>207
入力中って、かな漢字変換中のこと?


210 :名称未設定:2011/07/31(日) 01:32:54.17 ID:PX0owKPjO
>>209
いや、表示されている文字の数を動的に取得したいなと思って
かな漢字変換は確定後でいい

しかしNSTextStorageか……
初めて手を伸ばすクラスだ

211 :名称未設定:2011/07/31(日) 02:11:01.13 ID:CbPSx7JC0
>>210
なんだ、それなら単純に「NSTextViewの文字列の長さ」ということか。
[[textView textStorage] length];


212 :名称未設定:2011/08/04(木) 01:27:41.24 ID:iLq9ghGiO
ドラッグして選択される範囲の選択色って変えられないの?

213 :名称未設定:2011/08/04(木) 12:09:40.56 ID:/E/SsFIG0
>>207といい >>212といい(文面が同じだぞ)、
ちったあ努力してから来いや。

214 :名称未設定:2011/08/04(木) 14:15:56.48 ID:CJSsQ4Bu0
>>212
ぼくちゃんには変えられないの

215 :名称未設定:2011/08/16(火) 10:40:01.51 ID:NM8aM4gVi
NSTimerが動作中のオブジェクトをreleaseするとtimerは強制終了されるのでしょうか?
それともrelease前にタイマーが動作中ならストップさせる処理を行ったほうが良いのでしょうか?

216 :名称未設定:2011/08/16(火) 11:34:30.76 ID:1G4kxBgLP
>>215
run loop が timer を retain し、timer が target を retain してるから、timer や target は release しても問題ないよ。
逆に、timer を止めたいなら、ちゃんと timer を止める必要がある。

217 :名称未設定:2011/08/16(火) 21:45:22.68 ID:RyorI1WXi
ありがとうございます。
ストップ処理を入れようとすると、クラス変数としてNSTimerを持たないと、
invalidateできないですよね?
記述するのが面倒ですが、そうします。

218 :名称未設定:2011/08/16(火) 22:46:07.48 ID:1Gz57qVC0
面倒なら中に止める機構を作っておくしかないと思うけど
ソッチの方が面倒だよね

219 :名称未設定:2011/08/16(火) 23:31:48.13 ID:dqMDr+SA0
タイマーによって呼び出されたとき
- (void)timerFireMethod:(NSTimer*)theTimer
メソッドのパラメータでNSTimerオブジェクトが取得できるのだけど、このタイミングじゃ停止できないの?


220 :名称未設定:2011/08/17(水) 00:27:59.24 ID:pAlVxxHG0
出来ないわけ無いじゃん。

221 :名称未設定:2011/08/21(日) 10:53:37.85 ID:ohZFkf2m0
Obj-C スレが落ちてたから立てた

Objective-C [ObjC part:6];
http://hibari.2ch.net/test/read.cgi/tech/1313891268/

222 :名称未設定:2011/08/21(日) 10:55:15.81 ID:wvPX8SO20
他板のことなんかほっとけばいいでしょ


223 :名称未設定:2011/08/21(日) 17:24:51.79 ID:4yZupvIB0
>>222
なんか嫌なことでもあったの?美味しいものでも食べて回復してね

224 :名称未設定:2011/08/21(日) 17:36:22.11 ID:jE450FVK0
Quicktime -> AVFoundationでいいんすね?
後者はまだいじったことないけど。

225 :名称未設定:2011/08/23(火) 14:36:02.43 ID:XIDM00P2i
iOSによるオートマティズムを読んでいるのですが、意味の分からない点があります。
56pの3.1.2 Core Dataを使うか否かにおいて、
1. CoreDataのメリットとして大規模データの取り扱い易さがある
2. Core Dataではファイル保存形式にはxml、バイナリ、SQLを選択できる
3. SQLを利用すると、メモリ領域を活用することができる

4. 現実的に数MBのデータを扱う際はCore Data一択である

何回読んでも、4の結論が導かれません。
Core Dataが大規模データに向いていると言いたいように思えますが、
比較対象となる「Core Dataではない場合」の話がなく、根拠なくCore Data一択と言っているように読めます。
すみませんが、この箇所の意図するところを教えて頂けないでしょうか。

226 :名称未設定:2011/08/23(火) 19:54:34.46 ID:CAUoamUf0
>>225
著者本人に聞けば?

ちなみに、俺は、CoreDataのメリットは、リレーショナルDBと同様に、
データベースの中から条件に合うレコードを抽出することだと思っているけど。
SQLならSELECT文とか、CoreDataならNSPredicateを使うあたり。
たぶん、データ量は関係ないだろう。


227 :名称未設定:2011/08/23(火) 20:01:07.55 ID:hharqV2Q0
CoreData以外でDBを扱うならSQLiteとか?
なんにしろCoreDataだとレコードの取り出し、更新、削除などの扱いが楽だよ。
ただ、XMLファイル全てをメモリに読み込むから、大規模DBには向いていないと思ったけど。


228 :名称未設定:2011/08/23(火) 20:52:03.62 ID:CAUoamUf0
>>227
CoreDataって、ようするにSQLiteなんじゃ?

229 :”復帰”屋:2011/08/26(金) 11:02:58.47 ID:eq0Rw2st0
sage

230 :名称未設定:2011/08/29(月) 07:57:20.78 ID:rIDThZHC0
質問です。
自作ラッパークラスをKVO対応にする場合、
タイマーで例えば0.1秒間隔でチェックさせて
willChangeValueForKey
didChangeValueForKey
を投げるのがいいのか、
それとも違うやり方がいいのか、アドバイスを下さい。


231 :名称未設定:2011/08/29(月) 12:09:05.61 ID:46rk9WBx0
NSNotification じゃないのかな。

232 :名称未設定:2011/08/29(月) 14:00:01.77 ID:FxB/hShc0
イマイチ質問の意味をつかみきれないんだけど、
値を変更する時に、プロパティ使うか、セッター使えばいいんでないの?

233 :名称未設定:2011/08/29(月) 14:42:58.51 ID:/MTUm1NS0
タイマーで監視ってKVOが根本的に分かってないんじゃないの?

かなり古いけど、これ読んどけ
http://developer.apple.com/jp/documentation/cocoa/Conceptual/KeyValueObserving/index.html

こっちでもいいけど
http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/KeyValueObserving/KeyValueObserving.html


234 :名称未設定:2011/08/29(月) 14:43:46.18 ID:LyPlnOrD0
>>230
KVOというのはセッター呼べば通知行くの
セッターを使わない変更の場合は、その変更処理をwillChangeValueForKey, didChangeValueForKeyで囲めばいい

235 :名称未設定:2011/08/29(月) 18:58:38.55 ID:q0k8GEU70
>>230
とりあえず、その「自作ラッパークラス」って何?


236 :名称未設定:2011/08/29(月) 19:39:04.37 ID:rIDThZHC0
Non-cocoa ライブラリのサービスを
扱う為にラッパクラスを書いてます。

こういうケースでサービスのプロパティ
をBindingでモニタ出来るようにしたい
ので、ポーリングするタイマーを動かして
変更時に通知させたいのです。

237 :名称未設定:2011/08/29(月) 20:07:38.74 ID:LyPlnOrD0
>>236
そのライブラリにはコールバックもないわけ?

238 :名称未設定:2011/08/29(月) 20:26:22.96 ID:rIDThZHC0
はい。linux環境からの移植です。



239 :名称未設定:2011/08/29(月) 20:34:59.24 ID:LyPlnOrD0
>>238
具体的にどういうライブラリの何をラップするのか書いてくれた方がいいな。
俺はKVO使う必要がそもそもない方に賭けるけど

240 :230, 236:2011/08/29(月) 20:54:48.67 ID:MYhTnIYa0
これです。

https://github.com/MyCometG3/libavPlayer/blob/master/libavPlayer/LAVPStream.h

libavformatで読み込んだ映像ファイルを、如何にKVOサポートさせるかで
悩んでいます。
画像更新ごと、毎秒60回もKVO通知させるわけにも行かないし・・・

タイマーによるポーリング以外でうまく出来る手法はあるのでしょうか。

241 :名称未設定:2011/08/29(月) 21:11:15.82 ID:q0k8GEU70
>>240
えーと、ようするに、動画ファイルを再生するフレームワークを作っていて、
再生中を表す「isRunning」みたいなプロパティを実装するにはどうしたらよいか?
という話?


242 :230, 236, 240:2011/08/29(月) 21:20:24.77 ID:MYhTnIYa0
>> 241
はい。
double_tとか、BOOLとか、構造体とかをKVOサポートさせる話です。

現状画像はDisplayLinkで更新されるように作っているので、
GPUのリフレッシュレートより高速にはなりませんが・・・

タイマーで間引くのがいいのかな、というのが最初に質問の趣旨です。

243 :名称未設定:2011/08/29(月) 21:38:18.74 ID:q0k8GEU70
>>242
その再生中プロパティに限った話なら、
とりあえず、-playとか-stopメソッドが呼ばれたときは、普通に処理できると思うけど、
問題は再生中に、再生が終了したときに、どうやってプロパティを「停止」にするか?ですよね?
再生終了の条件は、再生位置がファイルの末尾に達した時でいいでしょうか?

で、このlibavformatで動画を再生するときって、1フレームごとにリアルタイムに画像処理とかしませんか?
そのときに、現在処理中のフレームが最終フレームがどうか判定できませんか?

または、再生終了時刻を計算して、-[NSObject performSelector:withObject:afterDelay:]で、
終了時刻にアクションを起こせるようにRunLoopにスケジュールできませんか?


244 :230, 236, 240, 242:2011/08/29(月) 21:47:43.24 ID:MYhTnIYa0
>>243

確かに、ON/OFFといった情報は実装も容易なのですが、
時間と共に連続して変わって行く可能性のあるプロパティ
例えば、再生位置、といった情報のKVO通知を想定しています。

このような連続して変わるものをKVOでどう扱うのが望ましい
のでしょうか。

245 :名称未設定:2011/08/29(月) 21:53:50.34 ID:q0k8GEU70
>>244
それはKVOする必要ありません。

再生位置なら、NSTimerで60Hzぐらいの速度で、setNeedsDisplay:して、
drawRect:の中で、再生位置をその都度参照して描画する。でOKです。


246 :230, 236, 240, 242, 244:2011/08/29(月) 22:14:47.94 ID:MYhTnIYa0
>>245
・・・どうにもうまく理解出来ていません。
もう少し調べてみます。ありがとうございました。

247 :名称未設定:2011/08/29(月) 22:18:03.72 ID:q0k8GEU70
>>246
えーと、つまり、NSAnimationクラスのcurrentValueと同じ扱いでいいという話です。
NSAnimationのcurrentValueはKVOをサポートしてませんよね?
そもそもKVOを必要とするような使い方しませんよね?


248 :名称未設定:2011/08/31(水) 23:50:53.35 ID:sQLFOZGGP
>>233
それ古い。これ最新。
http://developer.apple.com/jp/devcenter/ios/library/documentation/CoreData.pdf
ここから。
http://developer.apple.com/jp/devcenter/ios/library/japanese.html

249 :名称未設定:2011/09/28(水) 08:08:38.30 ID:2fTI86O+0
プログラミングを初めて勉強しようと、古いCocoa本を買ったらTiger時代のものでLionの俺のXcodeと全然違います。助けてください!!!

250 :名称未設定:2011/09/28(水) 09:19:47.82 ID:i8RQVwwp0
ええっと、Tigerはもう手に入らないんだっけ?

251 :名称未設定:2011/09/28(水) 09:21:15.48 ID:2fTI86O+0
なんでやねーん!!!!

252 :名称未設定:2011/09/28(水) 10:02:19.54 ID:i8RQVwwp0
Lion時代に最新の解説本買わずにわざわざTiger本買って始めようというのだから、
Tigerでなにかやろうとしていると思われても当然ですしおすし。

253 :名称未設定:2011/09/28(水) 10:05:00.94 ID:2fTI86O+0
古本で100円だったんです(´・ω・`)
最新版買うしかないですねスマソ

254 :名称未設定:2011/09/28(水) 14:07:14.65 ID:VGXSdsVc0
安心しろ、今のところ日本語の良書は無いから

255 :名称未設定:2011/09/29(木) 23:46:58.10 ID:BtOf7NBQP
Macについては本を書く人がいないからな。まあ、AppKit以外はiPhoneの本をそのまま
流用できるけど。



256 :名称未設定:2011/09/30(金) 00:42:05.47 ID:DclzSMMP0
AppKit以外が流用できるレベルになってる人はXcodeのバージョンで泣いたりはしないだろ。
本家のXcode4のガイドと併読するだけで解決する。

「これからプログラミング入門」だと本に書いてある通り動かないときついだろ。


257 :名称未設定:2011/09/30(金) 07:16:30.06 ID:h/kDaL060
JavaScriptでwindow.open()を実行した時

-(WebView *) webView:(WebView *)sender
   createWebViewWithRequest:(NSURLRequest *)request

requestが0x0でとれません。

URLを知るにはどのようにしたらよいのでしょうか?


258 :名称未設定:2011/09/30(金) 09:47:56.88 ID:Fo+YK1fe0
えーと、もう一つなんかあったはず。

259 :名称未設定:2011/09/30(金) 11:29:09.25 ID:Q4MgJtMx0
もう一つはMacプログラマのスレかな

260 :名称未設定:2011/09/30(金) 12:12:56.19 ID:6P/HIq3J0
リクエスト取るだけなら
decidePolicyForNewWindowActionとかでもいけるんじゃ無いかな。
ナビゲーションのデリゲートメソッドを漁ってみる。

261 :名称未設定:2011/09/30(金) 13:25:47.23 ID:h/kDaL060
>>260
NSDocumentで実際にwindowをひらいた後なら
decidePolicyForNewWindowActionでとれました。

しかし、winodowを開かないで、さらにできればNSDocumentを使わない
方法はないのでしょうか?


262 :名称未設定:2011/09/30(金) 14:51:57.79 ID:0kdQR4/I0
NSDocumentじゃなくてWebViewじゃないの?
開く前に取得出来るメソッドもあるかと。
じゃないとポップアップブロックとかで来ないし。

263 :名称未設定:2011/09/30(金) 20:41:03.53 ID:h/kDaL060
>>262
本来
WebUIDelegateの
>>257
で受けとれるはずなのですが受け取れません

なので、どなたかご存知ありませんでしょうか?



264 :名称未設定:2011/09/30(金) 21:06:16.08 ID:XxYL/Gh/0
デリゲートの宣言をしていないとか。
簡単なwebviewのサンプル作って再確認かな。

265 :名称未設定:2011/09/30(金) 21:48:28.68 ID:h/kDaL060
ちなみにjavascript以外の
<a href="http://???.jp/" target="_blank">test</a>
はcreateWebViewWithRequestで取得出来ます。



266 :名称未設定:2011/09/30(金) 22:28:03.88 ID:G8VZzyIMi
そうそう。で、window.openの時は違うメソッドで処理したような気がする。
ココアはやっぱりのページに書いてあったかな?

267 :名称未設定:2011/10/01(土) 23:15:39.74 ID:GUHgc7xH0
Appleのサンプルコードで
[savePanel beginSheetModalForWindow:[self windowForSheet] completionHandler:^(NSInteger result) {
if (result == NSFileHandlingPanelOKButton)
[self performSelector:@selector(startProgressSheetWithURL:) withObject:[savePanel URL] afterDelay:0.0];
}];
と言うのがあったんだけど、afterDelay:0.0なんだから
[self startProgressSheetWithURL:[savePanel URL]];
と等価にみえるんだけどなんであえてこういう書き方なんだろう?


268 :名称未設定:2011/10/02(日) 00:54:18.34 ID:Ob+Vpt6R0
そのメソッドの処理が重い場合、直接呼び出すとそのまま固まる。
afterdelayで呼び出すと、完了を待たずに先へ進めるので固まらない。
waituntiledoneでNO指定するのと一緒。

ただ、画面表示周りはafterdelay:0.0だとうまく描画が更新されるのに
直接呼び出すとダメなことがあった。
このため、単なる回避策の可能性もある。



269 :名称未設定:2011/10/02(日) 01:01:25.46 ID:5o1PncQL0
>>267
Specifying a delay of 0 does not necessarily cause the selector to be
performed immediately. The selector is still queued on the thread's
run loop and performed as soon as possible.

270 :名称未設定:2011/10/03(月) 23:58:10.20 ID:DcMd2jTR0
ありがとうございました。
>>268
メソッド名のstartProgressSheetWithURLを見ていただくと解る通りプログレスの表示なんです。
なので、重いというよりはそっちの方がむしろ処理をブロックする側になります。
キャンセルボタンだしてProgressの表示を行っています。
画面表示周りがうまく行かない件、調べてみようと思います。

>>269
はい。その記述は読みました。0を指定するのは即座に実行される必要がない時に指定するもので
スレッドのrun loopのキューに積まれてできるだけ早く実行されるという意味だと理解しました。
逆に、今回は別に即座に実行されてしまっても構わないケースだと思ったのにこういうコーディングに
なっていたので、もしかすると何か即座に実行されてしまうと困る事があるのかもしれませんね。
そういう観点でstartProgressSheetWithURLを良く読んでみます。



271 :名称未設定:2011/10/04(火) 01:56:31.88 ID:Gq0ru3hd0
スレッドの使い方の分かりやすいサンプルとか、サイトあったら教えてください。
テーブルと加速度センサーの処理をスレッドで分けたいのですが出来ますか?

272 :名称未設定:2011/10/04(火) 03:24:31.92 ID:xUE41hH10
NSThread

273 :名称未設定:2011/10/04(火) 11:39:41.63 ID:Z7ou6+qU0
NSOperation

274 :名称未設定:2011/10/04(火) 12:17:40.18 ID:/kqKR+sA0
GCD

275 :名称未設定:2011/10/04(火) 12:35:56.88 ID:tXM8qbsV0
pthread

276 :名称未設定:2011/10/04(火) 16:20:58.09 ID:Gq0ru3hd0
APIデスね。ありがとうございます。
>>271後半は可能ですか?

277 :名称未設定:2011/10/04(火) 20:27:55.00 ID:HNVfwMbD0
可能。UIはメインスレッドで。

278 :名称未設定:2011/10/05(水) 00:30:06.81 ID:aBj19bDjP
>>270
runloopが回ることに意味がある。

279 :名称未設定:2011/10/07(金) 04:15:21.17 ID:izCOuuWV0
練習用にテキストエディタを作っているのですが、仕上げの入出力で手間取っています
ヒレガス本は一応通読したのですが、データ形式しかのっていないためネットの記事を参考にしようと思うのですが、おすすめのサイトはありますか?



280 :名称未設定:2011/10/07(金) 10:08:41.07 ID:p5LRIObJi
仕上げの入出力って何?
音声入出力に対応させるってこと?
それともジェスチャーでってこと?

281 :名称未設定:2011/10/07(金) 16:19:40.46 ID:jh9W/EWu0
>>279
ファイルの入出力かな?
documentベースで作っていればテンプレにちょっと付け足すだけでできるけど。
ttp://www.mosa.gr.jp/?p=446

282 :名称未設定:2011/10/07(金) 22:18:31.05 ID:xBAszGYr0
っていうか、ここへ来て、知りたい情報は「おすすめのサイト」なのか。
自分でググッた方が早いんじゃないのか?


283 :名称未設定:2011/10/08(土) 03:18:43.57 ID:XYB0Op4x0
日本語でcocoaを解説しているサイトなんて数える程だな。
最近は、iOS関連で増えてはいるが。

284 :名称未設定:2011/10/09(日) 10:35:00.87 ID:eDXKOh5aP
>>279

Cocoaの日々

http://cocoadays.blogspot.com/
http://xcatsan.blogspot.com/

Googleと有益な情報はここに行き着く。


285 :名称未設定:2011/10/09(日) 12:11:30.23 ID:35yXOP6U0
Cocoaの日々の人はよくやってるよ
いつもいい情報提供してくれる。

iOSでも似たようなところがあるけど、情報としてはすごくピンポイントだったりしていいんだけど
いろいろキモいので困る。

286 :名称未設定:2011/10/10(月) 12:21:40.84 ID:nbWREi+c0
10.7から使えるようになったview-basedなNSOutlineViewについてです。
ビューのリサイズを検知したら、各行の高さを内容に合わせて調整するようにしています。

[outlineView noteHeightOfRowsWithIndexesChanged:rowIndexes];
(rowIndexesは表示中の行を表すNSIndexSetインスタンス)

このとき、行の高さは正しく調整されるのですが左側の三角(開閉の時にクリックするやつ)が期待する位置に描画されません。
具体的には、最初に描画された位置から変更されません。つまり、最初に描画する際に行の高さを20とした場合、三角の中心が左上から10の位置にあるということになりますが、その後、行の高さを70.0としても10の位置のままとなっています。

これをリサイズ後も上下中央(高さを70に変更した場合は35の位置)に描画するようにしたいと考えています。
解決方法をご存知の方がいらっしゃいましたらご教示ください。

287 :名称未設定:2011/10/10(月) 18:46:11.75 ID:g1sqgWM40
>>286

- (void)windowDidResizeNotification:(NSNotification*)notify
{
[outlineView reloadData];
}


- (CGFloat)outlineView:(NSOutlineView *)anOutlineView heightOfRowByItem:(id)item
{
return [[anOutlineView window] frame].size.height / 5.0;
}

試して見たけど、とりあえず上記のコードで、ウインドウのリサイズに追従して三角の位置も変化したよ。


288 :名称未設定:2011/10/11(火) 01:05:45.10 ID:oaPEnsOf0
>>287
ありがとうございます。
>>286 です。確かにそれでも可能のようです。

しかしその後の調べた結果、簡潔な方法が判明したので記載しておきます。
まず、原因です。
Appleが提供しているTable View Programming Guideにも記載がありましたが、view-basedなNSOutlineViewでは各行にNSTableRowViewがあり、そのサブビューとして左側の三角や各カラムに対応するNSTableViewCellが配置されているようです。
左側の三角はNSButtonクラスのインスタンスで、NSTableRowViewのサブビューのひとつとなっています。
今回の場合、NSButtonのautoresizingMaskがNSViewNotResizableとなっていることが原因でした。
(解決方法は次へ)

289 :名称未設定:2011/10/11(火) 01:07:13.84 ID:oaPEnsOf0
つぎに解決方法ですが、NSTableRowViewのサブクラスを用意し、xibファイルに追加します。
User Interface Item IdentifierをNSTableViewRowViewKeyとすることでカスタムクラスを使用することができるようです。
addSubview: をオーバーライドします。

- (void)addSubview:(NSView *)subview
{
[super addSubview:subview];

if ([subview isKindOfClass:[NSButton class]]) {
[subview setAutoresizingMask:NSViewHeightSizable];
}
}

これで三角のボタンをリサイズに合わせて中央に表示することができました。
簡潔というより、コストが低い、ですね。。

290 :名称未設定:2011/10/11(火) 17:42:00.24 ID:1cnXthM+0
Xcode4でNSStepperおかしくありません?

incrementはdoubleのはずなのに整数しか入らん…


291 :名称未設定:2011/10/11(火) 20:04:43.13 ID:u73Nz2AQ0
Xcode3でビルドするとdoubleが入るってこと???

292 :名称未設定:2011/10/12(水) 00:00:12.13 ID:30ahlhQG0
IBでやると無理、コードで指定なら可能って感じじゃないかな。
他にもNSNumberFormatterとかNSTextField+NSStepperで値指定するものは少数を入力できなくなってる。

293 :名称未設定:2011/10/12(水) 00:42:33.21 ID:oplUNsZh0
>>286
ふと思ったのだが、
普通にNSOutlineViewをNSWindow上に配置すると、
NSOutlineView本体はNSScrollViewの中に入ってるはずなので、
NSOutlineViewのリサイズが発生するのは、行が増えたり減ったりするときだけのような気がする。
今回の話って、いったいどういった状況下でNSOutlineViewを使ってるの?


294 :名称未設定:2011/10/12(水) 10:13:02.52 ID:HvYqICf+i
行の高さが変わるんじゃない。
リサイズしても常に10行表示させたいとか。

295 :名称未設定:2011/10/12(水) 15:37:50.35 ID:d2vNikS90
>>293
>286です。
スクロールビューに入った状態で使用していますが、横スクロールをさせたくないのでスクロールビューのリサイズに追従してアウトラインビューの幅も調整しています。
また、各行には複数行のテキストを省略なく表示したいのでスクロールビューのリサイズで行の高さを変更する必要がありました。

今>286を読み返して気づきましたが、冒頭のビューのリサイズを〜というのはアウトラインビューの、ではなくスクロールビューの、ということです。

296 :名称未設定:2011/10/12(水) 19:04:54.69 ID:oplUNsZh0
ようするに、スクロールビューを無効化している訳か。


297 :名称未設定:2011/10/14(金) 23:59:15.55 ID:dZVyoKzc0
Xcode4.2にアップグレードしたら、svnリポジトリのリモート接続がトラブった。
復旧させるのに、ちょっと苦労した。

298 :名称未設定:2011/10/15(土) 11:53:31.25 ID:EkqMbeTP0
>>297
せっかくだから、どうトラブってどう復旧したか書いてみませんか?


299 :297:2011/10/15(土) 18:45:54.95 ID:b6Rk24M40
オーガナイザーで、ステータスが「赤」になって、svnのリモートリポジトリが参照不能になった。
コマンドラインの、svnコマンドの方は問題なし。
add Repository...で作り直しても、ステータスは赤(Host is unreachable)のまま。

復旧方法はちょっと変。
add Repository...のLocation欄に、
svn://remote.local/project
と書くと、ステータス赤になるが、ここで最初の「/」を削除して
svn:/remote.local/project
にすると、ステータスが消えて、再度「/」を挿入すると
svn://remote.local/project
元の内容に戻ったうえに、ステータスが消えたままになる。
このまま、「Next」→「Add」と進めると、リポジトリが出来上がり、
checkoutやcommitが正常に動作するのを確認した。

が、、、
OSをシャットダウンして、一晩だってから再起動したら、またステータス赤で参照できなくなってた。
というわけで、全然復旧してませんでしたorz


300 :名称未設定:2011/10/15(土) 19:18:50.86 ID:jLOdO0jP0
xcodeとsvnの連携って便利?
設定が面倒で、結局ターミナルでチェックインしてる。
まあ、それで不満がないから設定してないってのもあるけど。

301 :名称未設定:2011/10/15(土) 19:25:20.07 ID:b6Rk24M40
>>300
それは、svnの使うのにGUIを使うかCLIを使うか、という話だと思う。
でも普通に考えたら、マウス1クリックでcommit出来る方が楽じゃないか?


302 :名称未設定:2011/10/16(日) 01:01:34.97 ID:8pX80Ytj0
>>299
そんなあなたのために…
svnX
Versions
Cornerstone
SmartSVN
URLはMacUpdateで検索してね!

303 :名称未設定:2011/10/16(日) 09:46:20.76 ID:NqzMnyj50
Thanks.
でもXCodeと一体化してくれるといいんだけどねー

304 :名称未設定:2011/10/16(日) 10:13:18.78 ID:6CkWM7r+0
SCMとかあるじゃん

305 :名称未設定:2011/10/16(日) 11:29:04.53 ID:vYckS3Ys0
OS X 10.6.8 + Safari 5.1.1のWebKitで
グラフィクをロードしない
[[ webView preferences] setLoadsImagesAutomatically: NO ]
を行うとメモリ消費が増えます

これは、以前のバージョンでもおきるのでしょうか?


306 :名称未設定:2011/10/16(日) 11:55:10.55 ID:4OrQaaalP
TortoiseSVNになれると他のは使えない。Mac版は開発中断しのがなあ。


307 :名称未設定:2011/10/16(日) 18:06:23.23 ID:RvhDIq9c0
SourceTreeが無料のうちに落としとくのがいいよ。これ使いやすい。SVN鯖にも繋げるし。

308 :名称未設定:2011/10/16(日) 23:59:11.75 ID:pSRsfJYw0
>>299
それがXcodeのバグなら、とりあえずバグが修復されるのを待つしかないだろう。
それまでの間は、適当なツールでしのぐ。
commitとかのバージョン管理だけじゃなく、diffとかもあるからね、
やっぱりXcodeに統合されていた方が便利だよね。


309 :名称未設定:2011/10/17(月) 22:22:47.46 ID:Le9dfM/+0
interface builderの不具合なんですが、xcodeでアウトレットを追加すると今まではIBにも追加が通知されていました
それが突然されなくなって、全部消えてしまうようになりました

同じ現象がおきた方いますか?
直前にハードディスクのアクセス権修復したのが原因かと考えているんですが・・・・・・

310 :名称未設定:2011/10/17(月) 22:27:17.16 ID:OhkTdOgn0
再インストール

311 :名称未設定:2011/10/17(月) 22:37:42.16 ID:mnIKLV2h0
>>309
コンソール.appを見てみて。
本当にファイルアクセス権限関係の障害なら、XcodeかInterfaceBuilderが何かログを吐いているかもしれない。

312 :名称未設定:2011/10/19(水) 00:04:24.82 ID:IZCtpUed0
Document-Basedアプリケーションでファイルを開くとき
FinderからDockアイコンにドロップしたり「ファイルを開く」から開くようなことを
コードから実行するとすると、どうしたらいいでしょうか。
NSDocumentControllerのopenDocumentWithContentsOfFileでしょうか?

313 :名称未設定:2011/10/19(水) 00:57:49.18 ID:R0pzufWd0
>>312
全部、フレームワークがやってくれます。
ドロップするファイルの定義はinfo.plistの編集が必要。
この辺参考にどうぞ。
http://homepage.mac.com/mkino2/cocoaProg/AppKit/NSDocument/NSDocument.html

314 :名称未設定:2011/10/19(水) 07:40:32.34 ID:IZCtpUed0
ありがとうございます。これは、ユーザーが何かした後の対応ですよね?ちょっと誤解がある表現だったようですみません。
要はユーザーが行った操作をトリガとしてではなくて、アプリケーションが自分で開きたいということなのです。

315 :名称未設定:2011/10/19(水) 10:11:20.36 ID:pbUhLNjn0
>>312
openDocumentWithContentsOf〜系のメソッドでいいと思うけど。聞く前に自分で試せばいいのでは?

でも、最新のドキュメントを見ると、
〜OfFile:display: available in 10.0 and later, deprecated in 10.4
〜OfURL:display: available in 10.0 and later, deprecated in 10.4
〜OfURL:display:error: available in 10.4 and later, deprecated in 10.7
〜OfURL:display:completionHandler: available in 10.7
となってて、さらにreopen〜なんてのもあるから、どれ使えばいいか迷うね。

316 :名称未設定:2011/10/19(水) 10:22:04.70 ID:fZf0vIus0
-[NSWorkspace openFile:withApplication:]

317 :名称未設定:2011/10/19(水) 11:34:30.66 ID:pbUhLNjn0
>>316
それは他のアプリで開く場合では? アプリ名に自分を指定すればいいのかもだけど、同じ名前のアプリがあったりしたら、確実に指定できるのかな?

ドキュメントを読んでて気になったこと。
•file coordination mechanism って何? iCloud 関係? そもそも日本語では何と訳せばいい?
•Lion の App Sandbox では open ダイアログで指定したファイル以外は開けないようだけど、履歴から開くような場合はどうするんだろ?

318 :名称未設定:2011/10/19(水) 21:05:46.80 ID:IZCtpUed0
ありがとうございます。確かにopenDocumentWithContentsOfURLを試したのですが、
*** Canceling drag because exception 'NSInternalInconsistencyException' (reason 'typeForContentsOfURL:error:
must be overridden for your application to support non-'file:' URLs.') was raised during a dragging session
といわれマス。
なので、DocumentControllerのサブクラスをMainMenu.xibに置いて、中身の
(NSString *)typeForContentsOfURL:(NSURL *)inAbsoluteURL error:(NSError **)outError
を実装しようかと思ったのですが、中身に困っています。
単にタイプを返すだけだと何も起こらないようで…

319 :名称未設定:2011/10/19(水) 21:26:09.05 ID:o2D3PO/g0
>>318
openDocumentWithContentsOfURLのパラメーターとして、どんな内容のNSURLを渡したの?
なんか、file:じゃないURLだったので処理に困っている。というふうに読めるけど?


320 :名称未設定:2011/10/19(水) 21:39:01.23 ID:pbUhLNjn0
>>318
NSURL *url = [NSURL URLWithString:str];
としてない? これは str が "file:///Users/xxx/file.txt" とか "http://www.apple.com/index.html" とかの場合だよ。

NSURL *url = [NSURL fileURLWithPath:path];
が正解の筈。あと、path はフルパス ("file.txt" じゃなくて "/Users/xxx/file.txt") じゃないと駄目だと思う。

321 :名称未設定:2011/10/19(水) 21:39:52.29 ID:o2D3PO/g0
>>317
> •file coordination mechanism って何? iCloud 関係? そもそも日本語では何と訳せばいい?

それは、ファイルの「バージョン管理」関連らしいぞ。
そして、iCloudストレージでもバージョン管理を使うようなので、いちおうiCloud関係でもあるようだ。
あえて日本語に訳すなら、「ファイル調整機関」かな?


322 :名称未設定:2011/10/19(水) 21:48:19.96 ID:IZCtpUed0
>>319,320
わーお、まさにズバリその通りでした!
お騒がせしてすみません。。。
丁寧な回答大変ありがとうございます。

323 :名称未設定:2011/10/19(水) 21:55:35.58 ID:pbUhLNjn0
>>321
>それは、ファイルの「バージョン管理」関連らしいぞ。
ありがとう。バージョン管理関連かぁ。
自動保存とかバージョンとか iCloud の衝突とか、何がどうなるのか謎すぎる。ちゃんと試してみなきゃ。

>あえて日本語に訳すなら、「ファイル調整機関」かな?
うーん…、英語でいいや。笑

324 :名称未設定:2011/10/19(水) 22:11:01.00 ID:o2D3PO/g0
>>323
実はちょうど今、iCloud Storageをいじってるところ。
若干ハマッている。。。
ストレージのファイルの読み書きは問題なく出来るようになった。
でも、なぜかファイルの競合が発生しない。もしくは、競合を検出できない。
どうやら、しっかりとバージョン管理付きでファイルを書き込みしないと、ダメっぽい。

ちなみに、自動保存と非同期保存は制圧済み^^

325 :名称未設定:2011/10/21(金) 00:35:30.27 ID:O5ciRt+Y0
iCloud Storageで、いろいろと通知を受け取れるようになった。
結果、別の意味でファイルの競合が発生しないらしいことが分かった。
NSDocumentのデフォルトの実装によれば、iCloud Storageにある1つのファイルを2つのデバイスで同時に開いた状態で、
片方のデバイスでファイルを編集して保存(新バージョン作成)すると、リアルタイムにもう片方のデバイスに
変更が反映される。(ファイルの自動再読み込み)
ファイルのバージョン競合なんてものは、そもそも起こらないのかもしれない。


326 :名称未設定:2011/10/21(金) 00:41:18.76 ID:CygQYWXM0
>>325
オフラインで編集すれば競合するのでは?
(まさかオフラインでは保存できないってことはないよね…)

327 :名称未設定:2011/10/21(金) 00:45:28.11 ID:CygQYWXM0
ってか、リアルタイムに反映されるのはどうなんだろ。
古いドキュメントをじっくり読んでたらいつのまにか新しくなってるってことだよね。
undo/redo 情報とかもどうなるのやら。

328 :名称未設定:2011/10/21(金) 20:44:55.12 ID:O5ciRt+Y0
>>326
> オフラインで編集すれば競合するのでは?

そのとおりでした。

1度開いたことのあるファイルは、ローカルにキャッシュされていて、オフラインでも開くことができる。
オフラインのまま編集して保存(新バージョン作成)も可能。
そして、オンラインにしたとたんに、双方のデバイスでバージョンの競合が発生します。
NSDocumentのデフォルトの実装では、「破棄」と「解決...」の選択を迫られて、「解決...」を選ぶと、
どのバージョンの書類を有効にするか選ぶ画面(通常のバージョン選択画面)が出てきます。
片方のデバイスでバージョンを選択・決定すると、もう片方のデバイスにもそれがリアルタイムに反映されます。
(もう片方のデバイスでバージョン選択画面に入っていても、強制的にキャンセルされます。早いもの勝ち)


>>327
> 古いドキュメントをじっくり読んでたらいつのまにか新しくなってるってことだよね。

そのとおりです。デフォルトでは、「更新しました」表示も出ません。

> undo/redo 情報とかもどうなるのやら。

まだ試してませんが、おそらくクリアされると思われます。ファイルを開き直しているっぽいので。

でも、そのへんの動きは、NSDocumentに実装されているNSFilePresenterのメソッドをオーバーライドすれば、
動作のカスタマイズは可能だと思うので、なんとかなるんじゃないかな?


329 :名称未設定:2011/10/29(土) 11:49:04.81 ID:hhi+qPyN0
Property redeclaration について相談です。
ヘッダはreadonly、カテゴリでreadwriteと再定義するやり方について正しい書き方を教えてください。

test[10383:707] -[AppDelegate setHoge:]: unrecognized selector sent to instance 0x101e0e1f0

// AppDelegate.h
#import <Cocoa/Cocoa.h>
@interface AppDelegate : NSObject <NSApplicationDelegate> {
NSNumber* hoge;
}
@property (assign) IBOutlet NSWindow *window;
@property (readonly, retain) NSNumber* hoge;
@end

// AppDelegate.m
#import "AppDelegate.h"
@interface AppDelegate (private)
@property (readwrite, retain) NSNumber* hoge;
@end

@implementation AppDelegate
@synthesize window = _window;
@synthesize hoge;
- (void)dealloc { [super dealloc]; }
@end

@implementation AppDelegate (private)
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
self.hoge = [NSNumber numberWithBool:YES];
}
@end


330 :名称未設定:2011/10/29(土) 13:16:23.46 ID:2leW4l8p0
@interface AppDelegate ()

331 :329:2011/10/29(土) 13:41:52.43 ID:hhi+qPyN0
>>330

ありがとうございました。
Categoryではなく、Class Extensionという機能を使うのですね。すっかりCategoryだと
思い込んでいました。

なお、Documentにあるpropertyやinstance variableの追加は、Clang/LLVM 2.0 compiler
が必須とあったので、llvm-gcc非互換になってしまうと理解したのですが、試してみたら
clang 3はもちろん、llvm-gcc 4.2でも動きますね・・・

332 :329:2011/10/29(土) 13:44:41.35 ID:hhi+qPyN0
失礼しました。検証ミスってました・・・
やはりclangでないと、インスタンス変数追加は出来なかったです。

333 :名称未設定:2011/10/31(月) 20:15:03.02 ID:QNGIST9m0
Document-Basedアプリケーションで作ってても
ある種類のファイルは開くたびに新しいウィンドウを作りたくない、みたいな場合のために
解説していたWebサイトがあったと思うのですが、どうしても見つからない…
誰か御存知ありませんか?

334 :名称未設定:2011/10/31(月) 20:33:00.04 ID:nhkqzZ9U0
ようわからんが、シングルウインドウだけで済ませるつもりなら
Document-Basedにする必要あるかいな?

335 :名称未設定:2011/10/31(月) 21:09:37.03 ID:QNGIST9m0
ええと、どちらかというと、ある種類のドキュメントはウィンドウを使いまわしたい
という要求ですね

336 :名称未設定:2011/10/31(月) 21:27:30.67 ID:c7K55sdP0
>>335
それは、NSDocumentを使わなければ良い。ということかと。


337 :名称未設定:2011/10/31(月) 21:45:19.43 ID:c7K55sdP0
>>335
ところで、それって、2つの書類を開いたらどうなるんだ?
古い方の書類は、自動的に閉じたことにするの?


338 :名称未設定:2011/10/31(月) 22:13:18.07 ID:QNGIST9m0
>>335
既存のウィンドウを使い回して古い方は閉じるか、既存のウィンドウのプレイリストに追加されるか、新しくウィンドウを開くか、条件によって変えられるといいのですが。
・.通常は常に新しいウィンドウで開きたい
・基本的に新しいウィンドウを開くが、すでに開いているウィンドウにドロップしたときはそれを使いまわす
というような感じですね
自分で新しくウィンドウを作ってもいいと思うのですが、履歴の対応や複数開いた場合などを考えると
ベースはDocument-Basedの方が何かと便利なもので
ある条件の時だけ新しくウィンドウを開かないで使いまわせないかなぁ、と考えてます

339 :名称未設定:2011/10/31(月) 22:19:33.49 ID:hG1mk5hC0
>>335
使い回す部分だけDocumentのnibを使ってその他は別のnibに置けばいいんじゃないかな。
>>337
シングルウィンドウのアプリケーションは新しい書類を開く時に古い書類を保存しますか?と聞いてくる。

340 :名称未設定:2011/10/31(月) 22:25:44.37 ID:IVMORIEA0
>>338
ウインドウを開いて、すぐ閉じて処理を続ける処理をすればいいんじゃない?


341 :名称未設定:2011/10/31(月) 22:51:54.06 ID:c7K55sdP0
>>338
> ・.通常は常に新しいウィンドウで開きたい
> ・基本的に新しいウィンドウを開くが、すでに開いているウィンドウにドロップしたときはそれを使いまわす

これって、難しい話じゃなくて、普通にDocument-basedでアプリを作って、書類のドロップ処理だけ工夫すればいいのでは?
一つのNSDocumentオブジェクトで、書類を再読み込みするのは、普通にできた気がするけど?


342 :名称未設定:2011/10/31(月) 22:52:18.63 ID:QNGIST9m0
すみません、ちょっと難しく考えすぎていたように思いますので
普通にNSDocumentControllerのサブクラスを作りますね
よく考えれば、MyDocumentクラスをインスタンス化する前に既存のウィンドウにURL投げてやるように
openDocumentWithContentsOfURLをオーバーライドしてみます。
お騒がせしました

343 :名称未設定:2011/10/31(月) 22:57:08.46 ID:QNGIST9m0
>>341
それもそうですね。ドキュメントタイプによって必ず新しいウィンドウで開きたい場合もあるのですが(プレイリストファイル自体とか)、それはおいておいて
再読み込み後にどのように自分のURLの変更を通知するのか、ちょっと調べてみます。

344 :名称未設定:2011/11/12(土) 16:31:45.39 ID:MVURSLck0
NSTextFieldで英小文字入力を大文字に変換して表示する方法をご教示ください。
見た目はキー入力時にcaps lockした時と同じ動きになってる感じです。
NSFormatterでuppercaseStringをしたのですが、
returnキーで確定しないと大文字表示にならず目的とおりにならないです。

@interface OomojiFormatter : NSFormatter {}
@end
@implementation OomojiFormatter
- (NSString *)stringForObjectValue:(id)anObject
{ return (anObject == nil)? nil : [anObject uppercaseString]; }
- (BOOL)getObjectValue:(id *)anObject forString:(NSString *)string
errorDescription:(NSString **)error
{ *anObject = [string uppercaseString]; return YES; }
@end


345 :名称未設定:2011/11/12(土) 17:47:13.95 ID:Ef8hLwCm0
文字が入力される度に大文字にするなら、NSTextFieldかそれの親クラスのメソッドで
内容が変更されたら呼ばれるメソッドがあったはず。

346 :名称未設定:2011/11/12(土) 20:44:26.55 ID:YPeO8zib0
NSControl の -controlTextDidBeginEditing: , -controlTextDidChange: の
デリゲートで地道に uppercase に変換していけば、一文字ずついけた気がする。

347 :名称未設定:2011/11/12(土) 23:19:04.45 ID:B2L6YfD50
>>344
- (BOOL)isPartialStringValid:(NSString *)partialString newEditingString:(NSString **)newString errorDescription:(NSString **)error {
*newString = [partialString uppercaseString];
return NO;
}
を追加する


348 :名称未設定:2011/11/14(月) 20:26:49.03 ID:AqpJW18s0
>>345>>346
コメントありがとうございます
>>347
追加したら目的どおりの動作になりました、
アドバイスありがとうございました

349 :299:2011/11/21(月) 21:18:50.19 ID:dJ6YH25G0
Xcodeでsvnのリモートリポジトリが使えない件は、version4.2.1で復旧しました。

めでたし、めでたし。


350 :名称未設定:2011/12/09(金) 22:55:38.78 ID:WmM3JwUk0
文字列からクラスとそのクラスメソッドを呼ぶ方法はないでしょうか?

Class型はNSClassFromString()で作れ、
SEL型はNSSelectorFromString()で作れますが、
クラスメソッドに対するperformSelector:みたいのが無さげです。

351 :名称未設定:2011/12/09(金) 23:26:22.12 ID:UAhWlmZA0
自分で書いてるような。
Class cls = NSClassFromString(@"MyClass");
SEL sel = NSSelectorFromString(@"foo");
[cls performSelector:sel];

352 :名称未設定:2011/12/09(金) 23:26:28.68 ID:XpfsDptq0
performSelector:でいいよ

353 :名称未設定:2011/12/10(土) 02:57:38.53 ID:oR7s8Ful0
@selector(hoge:fuga:hage:)

354 :350:2011/12/11(日) 02:06:01.49 ID:Z4GeqjP10
「Objective-Cプログラミング言語」を見直しました。
Obj-Cにおいてクラスは、クラスオブジェクト(ファクトリオブジェクト)であり、
インスタンスとはことなるものの、1つのオブジェクトなんですね。
ありがとうございました

355 :名称未設定:2011/12/12(月) 16:36:41.72 ID:dkDooTO60
NSPersistentDocument 使って iCloud 経由で
sync させる方法がわからん

356 :299:2011/12/12(月) 21:37:24.34 ID:zEo9t5R30
>>355
ところで、NSDocumentを使ってiCloud経由でsyncさせる方法なら分かるの?


90 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.02.02 2014/06/23 Mango Mangüé ★
FOX ★ DSO(Dynamic Shared Object)