1 名前:名称未設定 mailto:sage [2009/01/13(火) 22:26:12 ID:TtNlCCCM0] 前スレ Cocoaはさっぱり!!! version.11 pc11.2ch.net/test/read.cgi/mac/1224960170/ Cocoaはさっぱり!!! version.X(10) pc11.2ch.net/test/read.cgi/mac/1211290055/ Cocoaはさっぱり!!! version.9 pc11.2ch.net/test/read.cgi/mac/1201106820/ Cocoaはさっぱり!!! version.8 pc11.2ch.net/test/read.cgi/mac/1179498292/ Cocoaはさっぱり!!! version.7 pc11.2ch.net/test/read.cgi/mac/1161486802/ Cocoaはさっぱり!!! version.6 pc11.2ch.net/test/read.cgi/mac/1146391229/ Cocoaはさっぱり!!! version.5 pc11.2ch.net/test/read.cgi/mac/1124986925/ Cocoaはさっぱり!!! version.4 pc11.2ch.net/test/read.cgi/mac/1091927026/ Cocoaはさっぱり!!! Version.3 pc5.2ch.net/test/read.cgi/mac/1063295248/ Cocoaはさっぱり!version:2 pc11.2ch.net/test/read.cgi/mac/1036923528/ Cocoaはさっぱり! pc11.2ch.net/test/read.cgi/mac/1007632025/
237 名前:212 mailto:sage [2009/01/30(金) 12:22:51 ID:Xk99m0ql0] くそっ、昨日いけたと思っていtry〜catchでSIGABRT捉える問題なんですが、 Releaseでビルドすると捉えれずに落ちてしまう… debugだとデバッガがアタッチされてるからうまい事いってたのかなぁ…
238 名前:名称未設定 mailto:sage [2009/01/30(金) 13:45:42 ID:tnqIJAcF0] >>237 ビルド条件で挙動が変わるってのはなんかポインタの扱いが間違ってるとか そんなバグがあるんだとおもいます。 うまく動いてるときでも偶然うまくいってたとおもったほうがいいとおもう。 あと、いっとくけど SIGABRT を捉えられてるんじゃないよ。 C++ の例外は、だれもキャッチしないで main 関数の外に抜けると ランタイムが abort() に変換して、それが結局 SIGABRT になる。 だから、あなたが捉えてるのはあくまで C++ の例外のはずです。 set_terminate とか使って例外が底抜けているか調べたら?
239 名前:名称未設定 mailto:sage [2009/02/01(日) 08:21:57 ID:n9A0C94C0] >>231 >整合性を保つために俺はオブジェクトをコピーしないようにしてるけど。 >どうしても必要なら、アクセッサに渡す前に複製すればいいわけだし。 って具体的に書くとどういう操作ですか?
240 名前:名称未設定 mailto:sage [2009/02/01(日) 09:35:31 ID:1mYsSfAu0] 231じゃないが、 オブジェクトは>224にあるようなsetterのコードを使っていて、 呼び出し元は、setterに渡す前にcopyしてから渡すってことだとおもう。 copyを使うかどうかは、外部と内部とで共有するオブジェクトを 排除したいかどうかだろうね。
241 名前:名称未設定 mailto:sage [2009/02/01(日) 14:49:50 ID:yyoukxzn0] >>223 developer.apple.com/DOCUMENTATION/Cocoa/Conceptual/ObjectiveC/Articles/chapter_5_section_6.html この辺の@propertyによるsetter/getterの実装と、その選択を考えれば どういう風にするのがいいか解ると思う。
242 名前:名称未設定 mailto:sage [2009/02/02(月) 03:02:07 ID:oWvyvjyR0] >>240 >copyを使うかどうかは、外部と内部とで共有するオブジェクトを >排除したいかどうかだろうね。 もっと現実に即した説明で言うなら、オブジェクトのそのときの値に用があるのか、 オブジェクトを参照したいのか、みたいな感じかと。 例えば NS(Mutable)Number や NS(Mutable)String を setter に渡して何かの最後の値を 記憶しておくようなクラスを作ったら、copy しておかないとおかしなことになりうる。 そうでなく、例えば NSWindow とか、値に用があるのなくそのオブジェクトを参照したい場合 は retain と。 -copy に答えるオブジェクト(NSCopying 準拠)かどうかというのもある。
243 名前:名称未設定 mailto:sage [2009/02/02(月) 03:14:22 ID:oWvyvjyR0] しまった、NSMutableNumber って何だよ俺。
244 名前:名称未設定 mailto:sage [2009/02/02(月) 06:27:53 ID:TONCedf+0] >>243 多倍長整数同士の演算を実装したクラスだな。 俺も持ってる
245 名前:名称未設定 mailto:sage [2009/02/02(月) 13:54:51 ID:2xCIDXB+0] >NSMutableNumber NSNumber を継承して、値に意味の中心があるクラスとして、NSCopying protocol 準拠で copyWithZone:(NSZone) の実装をされたんでしょうか?
246 名前:名称未設定 mailto:sage [2009/02/02(月) 13:56:34 ID:yqjQEfKg0] そんなにいじめるなよ
247 名前:名称未設定 mailto:sage [2009/02/02(月) 14:01:26 ID:2xCIDXB+0] それとも、NSMutableCopying protocol 準拠 - (id)mutableCopyWithZone:(NSZone *)zone の方でしょうか?
248 名前:名称未設定 mailto:sage [2009/02/02(月) 14:03:09 ID:2xCIDXB+0] あれ?タイポだって事?それなら失礼。 でも、実際、そういうクラス作るとしたら、準拠でしょうか?
249 名前:名称未設定 mailto:sage [2009/02/02(月) 14:34:12 ID:RTJ7jXP10] NSNumber を単純に継承しても動かんよ、クラスクラスタだから…という話は 置いておいて。NSMutableCopying Protocol のリファレンスには、 > Only classes that define an “immutable vs. mutable” distinction should > adopt this protocol. Classes that don’t define such a distinction should > adopt NSCopying instead. とあるので、不変クラスが無ければ、NSCopyingだけで良いんじゃない?
250 名前:名称未設定 mailto:sage [2009/02/02(月) 14:59:15 ID:oWvyvjyR0] >>244 >多倍長整数同士の演算を実装したクラスだな。 そうそうw 逆に、immutable で演算もないのは「基本、数値のラッパーでしかないクラスなのでよろしく」 ということなのかな。
251 名前:名称未設定 mailto:sage [2009/02/02(月) 18:45:00 ID:2xCIDXB+0] よろしく。。。何なのでしょう?
252 名前:名称未設定 mailto:sage [2009/02/02(月) 19:13:04 ID:L7cRbMRK0] >>251 Yorosiku Protocolを知らんのか?
253 名前:名称未設定 mailto:sage [2009/02/02(月) 21:35:57 ID:AAETqkqJ0] Bonjourなら知ってる。
254 名前:名称未設定 mailto:sage [2009/02/02(月) 21:41:24 ID:AAETqkqJ0] Bonjourが出たついでなんだけどさぁ、NSSocketを使用して リモート間のコンピュータ制御を行なった人います? BonjourがCFSocketを使用しているせいか、こちらのAPIを使用する人がいないよね。 別にBSDSocketを使用しているからあまり問題ないんだけど・・・・・・ こいつの使い方が終に分からなくて、悔しい思いをしたので。
255 名前:名称未設定 mailto:sage [2009/02/03(火) 00:07:16 ID:2ttErtYe0] NSSocketPort じゃなかったっけ?これは Distributed Objects 用でしょ。 だから一般的なソケット操作にはつかえません。 でも DO はやってみると案外面白いよ。 単一マシン内の二つの app でやっても充分面白いです。 他のプロセスの Obj-C クラスをまるで自分のプロセス内の クラスであるかのように自在に操れるからね。 AppleEvent より全然つかいやすいとおもうのだが...
256 名前:名称未設定 mailto:sage [2009/02/03(火) 01:27:59 ID:2ZhaM9y40] [me fuck]
257 名前:名称未設定 mailto:sage [2009/02/03(火) 06:25:45 ID:gjuIaaik0] >>254 Bounjour でサーバのサービスを発見して NSSocketPort 経由で繋いで後の通信は DO、 みたいな、なんちゃって分散システムを作ってる & 使ってる。 セキュリティは気にしてないのでw Bonjour で見えたら自動的に接続。処理は DO のメソッド 呼び出し投げる。サーバが消えたらやめる。サーバのリストは Binding を使って表示&管理。 かなり楽ちん。 まあ実際にはエラー処理とかいろいろあるが... あとこれっていんちき Xgrid? という説もあるw
258 名前:名称未設定 mailto:sage [2009/02/03(火) 07:13:28 ID:btozHLBi0] >>257 heartbeatの処理とか入れてる? 処理投げてなかなか帰ってこないサービス内容とかもあるんで うちは接続したら定期的にheartbeat返すようにしてる
259 名前:名称未設定 mailto:sage [2009/02/03(火) 09:59:34 ID:hBT6haPh0] ハートビート... いい響きだね
260 名前:名称未設定 mailto:sage [2009/02/03(火) 12:03:48 ID:l8QIYOaqi] エターナルフォースハートビートモーターズ!
261 名前:名称未設定 [2009/02/03(火) 12:21:34 ID:qYl1wxUJ0] 質問というかただの興味ですが、 メソッドを書く時の書式は通常 - (NSString *)hoge:(NSString *)string; とオブジェクト名とアスタリスクは離しますが、C的に書く必要がある場合どうでしょう? NSString * getHoge(NSString *string); この場合最初のアスタリスクの両側が空いているのに違和感を覚えるのですが、みなさんどう書いてます? Apple公式でこういった書式のコードが見られるといいんですけど。
262 名前:名称未設定 mailto:sage [2009/02/03(火) 12:33:04 ID:C28DxKEb0] リモート人間接続をするにはどうすれば
263 名前:名称未設定 mailto:sage [2009/02/03(火) 12:40:24 ID:WATf/n1w0] 普通に話せよw
264 名前:名称未設定 mailto:sage [2009/02/03(火) 14:09:23 ID:G1cDZxPk0] たとえば、InDesignなどのDTPソフトだと、フォントフォルダ(たとえば、/Library/Fonts)に、 フォントをFinderで追加すると、すぐに使用できるようになるのですが、 自作アプリでコピーをすると、いつまでたっても、フォント情報が更新されません。 InDesignが、フォントフォルダに変更があったよ〜、的ななんらかのシグナルを キャッチしていて、Finderはそのシグナルを発してるのでは、 と想像しているのですが、そのシグナルを発生させる方法はあるのでしょうか。
265 名前:名称未設定 mailto:sage [2009/02/03(火) 14:12:07 ID:WATf/n1w0] >>264 むしろ自作アプリで直接コピーするんじゃなくて、Finderにコピーをさせればどうだろう。
266 名前:名称未設定 mailto:sage [2009/02/03(火) 15:13:30 ID:2ttErtYe0] >>264 developer.apple.com/documentation/Carbon/Conceptual/ATS_Concepts/atsfonts_concepts/chapter_2_section_5.html developer.apple.com/documentation/Carbon/Conceptual/ATS_Concepts/atsfonts_tasks/chapter_3_section_6.html
267 名前:名称未設定 mailto:sage [2009/02/03(火) 15:16:29 ID:2ttErtYe0] >>261 developer.apple.com/documentation/Cocoa/Reference/Foundation/Miscellaneous/Foundation_Functions/Reference/reference.html 関数の場合は * の両側をあける、ivar の場合は左側だけあけるんだと思う。
268 名前:名称未設定 mailto:sage [2009/02/03(火) 15:27:44 ID:Futh7gDNi] FSEvent使うってのは??
269 名前:名称未設定 mailto:sage [2009/02/03(火) 16:28:09 ID:qYl1wxUJ0] >>267 おお、すっきりしました。ありがとうございます。
270 名前:名称未設定 mailto:sage [2009/02/03(火) 18:43:59 ID:nN7f7LmV0] カスタムのビューとスクローラーとそのイベント対応について質問させて下さい。 NSViewとそれをスクロールするNSScrollViewを、共にサブクラス化し、 共にacceptsFirstResponderをオーバーライドしてYESを返すようにしました。 これで、page up/downキーが押された場合は、NSViewのサブクラスで オーバーライドした pageUp: と pageDown: が呼ばれます。 で、homeキー、endキーが押された場合を取りたいのですが、 NSResponderのスクロール関連のどのメソッドをオーバーライドしても 呼ばれないのですが、keyDown:から自分で判別するしかないのでしょうか?
271 名前:名称未設定 mailto:sage [2009/02/03(火) 19:06:35 ID:4NqLeFNd0] >>270 scrollToBeginningOfDocument:とscrollToEndOfDocument: NSResponderで定義されているメソッドでは、ありませんが。
272 名前:名称未設定 mailto:sage [2009/02/04(水) 09:05:27 ID:327qCR/u0] >>257 >セキュリティは気にしてないのでw Bonjour で見えたら自動的に接続。処理は DO のメソッド >呼び出し投げる。サーバが消えたらやめる。サーバのリストは Binding を使って表示&管理。 この方法、凄く気になります。どこかにサンプルコードありませんか?
273 名前:名称未設定 mailto:sage [2009/02/04(水) 09:33:10 ID:eVwbmqQc0] www.borkware.com/corebook/second-edition-source-code の Chap. 18, 19 を解読してみたら。本も買ったら勉強になります。
274 名前:名称未設定 mailto:sage [2009/02/04(水) 13:08:09 ID:yVzPM0e80] サンプルプロジェクトを、プロジェクト名は同じですが改造して、アプリを試作しました(A)。 (アイコン入替え、クラス追加等含め) 更に、それを少しだけ改変した別バージョン(B)を、別個に作ろうと、上記元の改造版を Finder でフォルダごと複製して、プロジェクト名は同じで、ビルド作業もできておりました。 ところが、その際、(恐らく)Default.png か、Icon.png を更新して、ターゲットのクリーニング後、 ビルドは出来ても、アプリ起動した後、または途中で止まってしまう様になりました。 コードを、修正前の状態になるまで、コメントアウトしても、状況が変わりません。 こういう場合原因は何でしょう?
275 名前:名称未設定 mailto:sage [2009/02/04(水) 13:29:00 ID:eVwbmqQc0] エラーがデバッガ画面に出てるはずだからそれを説明しろ。 ここ読んでる人だってエスパーじゃないよ。 とりあえず Default.png / Icon.png ももとに戻して動くかみてみたら?
276 名前:名称未設定 mailto:sage [2009/02/04(水) 14:16:27 ID:vG3Eq+0R0] 実機上でBundle ID同じアプリが2つ出来て混乱しているとか。変えてみ。
277 名前:名称未設定 mailto:sage [2009/02/04(水) 14:32:41 ID:GLh6l/ao0] >>276 ありえる。お前エスパーだろ?
278 名前:名称未設定 [2009/02/04(水) 16:48:00 ID:pU891sJp0] NSTableDataSouceプロトコルの -(id)tableView:(NSTableView*)tb objectValueForTableColumn:row: メソッドの引数tbを使用して テーブルのラインナップを行う行為は常識はずれですか? ただこのメソッドは何度も呼び出されるので、 一度呼び出されたときだけこのメソッドないでテーブルのラインナップを する関数を呼び出しています。 簡単に用法をしめすと -(id)tableView:(NSTableView*)tb objectValueForTableColumn:row: { if(count == 1) { /* tbを使用してテーブルのラインナップ カラムを追加したりセルをセットしたり。 */ } // 以下はreturnでセルに値を代入していくプログラム・・・ }
279 名前:名称未設定 mailto:sage [2009/02/04(水) 17:00:13 ID:/jro+NId0] 普通はnibで既にカラムもセルもセットしておく。 どうしても動的に変えたいときはawakeFromNib:でやるかな。
280 名前:名称未設定 [2009/02/04(水) 17:06:55 ID:pU891sJp0] 確かにほとんどの参考プログラムはそうですよね。 ただテーブル数が多い&動的 ということもあって、別に動くには動くしで・・・・ でも皆さんから見てどうなんかな?って思ったんで質問させてもらったんですが・・
281 名前:名称未設定 mailto:sage [2009/02/04(水) 19:03:12 ID:AZEIygKK0] 動的に変更したいにしてもなんらかのトリガーはあるんだろうから そこから別途カラムを設定するメソッドを呼んだ方がいいと思う 実際の動作から変数を作ってどうこう、とやり出すと 予想外なところでif文に該当してバグの元になる
282 名前:名称未設定 [2009/02/04(水) 21:24:41 ID:Gh/9lkTr0] iPhoneアプリ作成を始めた初心者です。Hello World! から勉強してます。 TableViewは作れましたが、TabelViewからタッチして別の画面 (別のcontroller)に飛びたいときはどうすればいいですか? 小さな複数のアプリをTabelViewでまとめたいのですが。
283 名前:名称未設定 mailto:sage [2009/02/04(水) 21:38:37 ID:kElp6NwL0] >>282 iPod touch/iPhone ネイティブアプリ製作 ver.8 pc11.2ch.net/test/read.cgi/mac/1231156968/
284 名前:282 [2009/02/04(水) 21:45:34 ID:Gh/9lkTr0] わかりました。そちらのスレでもう一度聞いてみます。ありがとうございました。
285 名前:名称未設定 mailto:sage [2009/02/04(水) 22:10:20 ID:nazm8P890] >>284 そしたらこっちでの質問を取り下げた方がいいよ。
286 名前:270 mailto:sage [2009/02/05(木) 00:02:28 ID:vPXIdXg90] >>271 NSViewのサブクラスにそれらを実装してみましたが、呼ばれませんでした。 少しググってみましたが、それらはNSTextViewで可能な方法ではないでしょうか。 何であれありがとうございました。
287 名前:名称未設定 mailto:sage [2009/02/05(木) 11:15:29 ID:qtw79+lW0] テキストフィールドのあるモーダルダイアログを表示し、 テキストフィールドに日本語を入力し確定する前(下線が付いたまま)に ダイアログを閉じるとクラッシュしてしまう… これはなんなのでしょうか…
288 名前:名称未設定 mailto:sage [2009/02/05(木) 11:21:22 ID:aBVo+1GJ0] >>287 ダイアログを破棄した後にUIを参照しようとしてない? フォーカス関係の問題なら、フォーカス外してから閉じるとか。
289 名前:名称未設定 mailto:sage [2009/02/05(木) 11:22:28 ID:ih/Ab1m90] >>287 クラッシュログはなんていってるの? つかってるのはことえり?ATOK? それとは別問題として、モーダルダイアログは多用しないほうが... せめてモーダルシートにしましょう
290 名前:287 mailto:sage [2009/02/05(木) 12:19:00 ID:qtw79+lW0] レスありがとうございます! >>288 モーダルダイログを閉じる前にモーダルダイアログContorllerクラス内のメンバ変数に UIから取得した値を保持しretainしております… その後にモーダルダイアログを閉じ →モーダルContorllerクラスからget○○で呼び出し元ウィンドウでモーダルのUIの値を取得 →モーダルContorllerクラスを破棄 これマズイでしょうか。。。 フォーカスを手動で外してモーダルダイアログを閉じた場合はクラッシュしませんでした。 プログラム内からmakeFirstResponderで別のコントロールにフォーカスを移動してから閉じたらクラッシュしました… >>289 つかってるのはことえりです。 ログは長いので最後の辺りを… Thread 0 Crashed: 0 libobjc.A.dylib 0x90a59387 objc_msgSend + 23 1 com.apple.AppKit 0x93356003 -[NSApplication runModalForWindow:] + 227 ホントはシートを使いたいのですが、要望でダイアログになりました… 言い忘れたのですが、10.5では正常に動作致します。 10.4の場合のみ現象が起こってしまいます。。。
291 名前:名称未設定 mailto:sage [2009/02/05(木) 12:47:23 ID:k3HvMYJw0] すみません、自力で解決できなかったので教えて下さい。 NSViewのサブクラスを作り、NSBezierPath *contentPath(矩形)を持たせて います。で、NSMutableArray に矩形ベジェを持たせていて NSArrayController で 前述のビューのcontentPathを入れ替えて再描画させる、というものを作りました。 制御自体はうまくいって、Arrayの中身を描けるのですが、パスのライン幅が一部 太くなってしまいます。挙動としては、矩形は幅または高さだけ変えたもの (originは一緒)を描かせたときに古い矩形とオーバーラップする領域のみ線幅が 太くなります。 で、クリッピングが関係しているのかなと思い、wantsDefaultClipping をオーバー ライドして NO を返すようにしてみたら、線幅は一定にはなったものの、今度は 設定した線幅 1.0 よりも太く書かれてしまいます。 どうすれば解決できますでしょうか、お知恵をお貸しください。
292 名前:名称未設定 mailto:sage [2009/02/05(木) 12:55:09 ID:ih/Ab1m90] >>290 それは retain/release がどっかでおかしくなってるんだとおもうけど。 ちゃんとやればもんだいないはず。NSZombie とかつかって 誰が二重 release してるかしらべてみては。 あと、僕の実経験では、Interface Builder でよく Window のインスペクタで "release when closed" をチェックしてしまって それのせいで release しすぎになりますが...
293 名前:名称未設定 mailto:sage [2009/02/05(木) 13:19:19 ID:k3HvMYJw0] >291 です……自己解決しました。原因は drawRect:[contentPath bounds] と やったせいで、パスの線幅分のオフセットをやっていなかった為のようです。 とほほ…
294 名前:名称未設定 mailto:sage [2009/02/05(木) 16:30:33 ID:MZKKxZ3Z0] >>290 パネルがrelease when closedになってるとか?
295 名前:290 mailto:sage [2009/02/05(木) 17:03:08 ID:qtw79+lW0] release when closedになってたので、チェックを外すと今度は10.5でおかしくなったw 日本語入力したテキストフィールドにmakeFirstResponderでフォーカス移動して postEventでreturnキーを送ってテキストフィールドを完全に確定(?)させてから モーダルを閉じたら10.4でいけた… 一応NSZombieだと、やっぱreleaseしたものにアクセスしてるって出た…(10.4のみ) わけわかめだ…
296 名前:名称未設定 mailto:sage [2009/02/05(木) 20:39:25 ID:p6wlshAm0] >>286 よく見たら、keyDown:をオーバーライドせずに、pageUp:とかだけをオーバーライドしてたんですね。 そうじゃなくて、 - (void)keyDown:(NSEvent *)theEvent { [self interpretKeyEvents:[NSArray arrayWithObject:theEvent]]; } - (void)doCommandBySelector:(SEL)aSelector { if([self respondsToSelector:aSelector]) { [self performSelector:aSelector withObject:self]; } } とやると、 page up → scrollPageUp: page down → scrollPageDown: home → scrollToBeginningOfDocument: end → scrollToEndOfDocument: となります。
297 名前:名称未設定 mailto:sage [2009/02/05(木) 23:28:22 ID:ih/Ab1m90] >>295 それはあきらかにメモリ管理のバグなので、対処療法的に こういう閉じ方ならクラッシュしない、という解決法ではなくて どっかで retain/release のミスがあるのでそれをみつけてください。 まあ納入期限とかなければのはなしだけど。 clang static analyzer は clang.llvm.org/StaticAnalysis.html 強力なのでいちどつかってみたら?
298 名前:名称未設定 [2009/02/08(日) 11:24:31 ID:x/17hb0Z0] NSColorでも同じだと思うんですが、UIColorでalloc initでオブジェクト付くってラベルのtextColorに代入したときUIColorオブジェクトはどっかでreleaseしなくていいんでしょうか? self.lbl_kekka.textColor = [[UIColor alloc] initWithRed:0.0 green:0.0 blue:1.0 alpha:1.0];
299 名前:名称未設定 mailto:sage [2009/02/08(日) 12:17:18 ID:cbLnK3Uq0] 当然allocしたオブジェクトは、自分が責任を持ってreleaseする。 UILabelのtextColorプロパティは @property(nonatomic,retain) UIColor *textColor; となっていてretainされるので、代入した直後にreleaseしてかまわない。 self.lbl_kekka.textColor = [UIColor colorWithRed: 0.0 green: 0.0 blue: 1.0 alpha: 1.0]; とすればautoreleaseされているのでreleaseする必要はなく、おそらくそのメソッドが終われば releaseされる。 allocで生成するオブジェクトは、主にインスタンス変数などに長く保持したい場合などに使う。
300 名前:名称未設定 mailto:sage [2009/02/08(日) 13:40:23 ID:cbLnK3Uq0] 後で気がついたが、releaseする場合は self.lbl_kekka.textColor = [[UIColor alloc] initWithRed: 0.0 green: 0.0 blue: 1.0 alpha: 1.0]; [self.lbl_kekka.textColor release]; ではなく、 UIColor *color = [[UIColor alloc] initWithRed: 0.0 green: 0.0 blue: 1.0 alpha: 1.0]; self.lbl_kekka.textColor = color; [color release]; な。 NSArrayやNSDictionaryにオブジェクトを追加したり UIViewにaddSubview:したオブジェクトもretainされるので、直後にreleaseしてよい。
301 名前:名称未設定 mailto:sage [2009/02/08(日) 15:41:18 ID:vQKSQI6y0] self.label.textColor = [UIColor colorWith~~]; でおk
302 名前:名称未設定 [2009/02/08(日) 17:29:03 ID:x/17hb0Z0] なるほど!ありがとうございます。よくわかりました。 autoreleaseされるcolorWithメソッドもあったんですね。
303 名前:名称未設定 [2009/02/09(月) 16:27:22 ID:xx/grS5S0] シンガポールの9歳少年がiphoneアプリの開発。 しかもこの少年2歳のときからコンピュータ使って いまやすでに6言語をしようできるとか・・・・・。 スレッド間通信で悩んでいる俺もこんな英才教育受けてたら いまや天才ハッカーだったのに・・・・・。
304 名前:名称未設定 mailto:sage [2009/02/09(月) 16:34:36 ID:9F+2O8Cp0] まあ、その子の父親がそっち系の人だからね。 しょうがないよ
305 名前:名称未設定 mailto:sage [2009/02/09(月) 16:36:53 ID:r0qQWs5t0] 実はオネェ系。
306 名前:名称未設定 mailto:sage [2009/02/09(月) 17:02:51 ID:svdYosUm0] そっち系ってどっち系か気になる
307 名前:名称未設定 mailto:sage [2009/02/09(月) 17:03:51 ID:SccJ/7Eo0] はぐれ刑事情熱系
308 名前:名称未設定 mailto:sage [2009/02/09(月) 17:11:06 ID:9drXTDxV0] >>303 アジアには1ヶ月飲まず食わずの少年も居るよ。 鵜呑みにしない方がいい。
309 名前:名称未設定 [2009/02/09(月) 17:16:43 ID:QiGMMDTS0] 父親が作ってるだろ、実際は。 話題性があれば、無駄に売れる。
310 名前:名称未設定 mailto:sage [2009/02/09(月) 17:21:15 ID:gsT/KdBz0] 以前、10歳でアセンブラバリバリ使いこなす小学生に会ったことがある。 子供は物覚えが速いから、3Dとかの複雑な数学の必要なもの以外は余裕だよ。
311 名前:名称未設定 mailto:sage [2009/02/09(月) 17:23:48 ID:0LhoQ2uS0] まあ、ポケモン数百匹のデータと対戦法すべて覚えてるガキなんかも多いしな。
312 名前:名称未設定 mailto:sage [2009/02/09(月) 17:33:17 ID:mKmE+zE/0] >>310 それかつての俺だ まだ覚えてるかな 21 がLD HL EDがIXのプレフィクスだっけかな ハンドアセンブルは今にして思えば無駄な作業だったな・・ 当時はセクションの考えもなかったし >>311 そういうことだねw
313 名前:名称未設定 mailto:sage [2009/02/09(月) 17:35:49 ID:EdHXtXj80] ちなみに、いまハンドアセンブル用のシート売ってるのかな?ニモニック書けるやつ 8080,Z80時代はばりばり書いてたなあ
314 名前:名称未設定 mailto:sage [2009/02/09(月) 18:13:19 ID:bsNxoMZui] アセンブラ買う金が無かったから、ハンドアセンブルしてました。
315 名前:名称未設定 mailto:sage [2009/02/09(月) 18:15:52 ID:yzs1V3zWi] 逆アセンブラは面倒だったんで、自分で書きました。
316 名前:270,286 mailto:sage [2009/02/09(月) 19:11:05 ID:/J57R7wN0] >>296 それでできました! レスポンダーチェーンは知っていましたがキーバインドは単語だけ聞いた事ある、という感じでしたが勉強になりました。 ありがとうございました。
317 名前:名称未設定 mailto:sage [2009/02/09(月) 21:26:07 ID:j607E4t30] Mac OS X だと gas 以外に nasm も付いてくるし、逆アセンブルもできる (otool か gdb)。 なんて恵まれた環境(w しかし Mach-O がマイナー(w x86 の ObjC のメソッドでは、self が 8(%ebp)、SELが 12(%ebp)、第一引数が 16(%ebp)。 これ豆知識。 と無理矢理 Cocoa に結びつけてみる。
318 名前:名称未設定 [2009/02/09(月) 21:43:05 ID:JA/hqyCL0] ttp://sourceforge.jp/magazine/09/02/09/0131209 QtもCocoa対応になるのか あれ、前ってCarbonだったけ?中までチェックしてなかったなぁ
319 名前:名称未設定 mailto:sage [2009/02/09(月) 22:23:43 ID:9drXTDxV0] 藤子不二雄で育った世代が集まってるな。
320 名前:名称未設定 mailto:sage [2009/02/09(月) 23:48:04 ID:aEihI9Eo0] >>318 レパード発売直前に 64 bit Carbon GUI の廃止が発表されて クロスプラットホームのひとはみんな慌てて Cocoa になってますよ。 Qt しかり、Open Office しかり。 Qt の開発者のブログはこのあたり labs.trolltech.com/blogs/2007/06/21/wwdc-qt-carbon-64-bit-and-other-buzzwords/ labs.trolltech.com/blogs/2008/03/03/qtmac-cocoa-port-alpha-released/ もっと最近のポストもあるけど、初期のほうがおもろい。
321 名前:名称未設定 mailto:sage [2009/02/10(火) 08:06:37 ID:lUyxbS2f0] >>319 残念、テッカマンとサンダーバードで育ちますた。 あと日曜のliving tomorrow あの番組によればとっくに核融合炉稼働、電車はすべてリニア、衛星軌道の太陽電池発電などが現実のものになってなければいけないのだが・・ 21世紀にもなって相変わらず石油依存だったり雇用不安真っ盛りだったり あげくの果てにハゲもダウンするしなんだかなもう。
322 名前:名称未設定 mailto:sage [2009/02/10(火) 08:18:35 ID:HCu6PKfT0] テレ東と閣下で育った俺が来ましたよ。 >>320 MSのOfficeはどうなんだろうって思って2008でotoolしてみたけどいまいちどうなってるんだかよくわからん。 Carbon.frameworkあるから普通にCarbonだとは思うがPowerPlant.frameworkがあるのが気になる。 Xcode移行したんじゃなかったのか? >>321 ひとまずAppleには雇用不安も不景気も無縁だと思う。 あとJobsの後継者探しも問題ないだろう。 ここにいる連中を見る限り。 www.apple.com/pr/bios/
323 名前:名称未設定 mailto:sage [2009/02/10(火) 09:25:02 ID:A84c3i310] >>322 PowerPlant は XCode で使えるユニバーサル版が公開されてるよ。 MS がつかってるのは彼らなりの手の加わったバージョンだと思うが。 sourceforge.net/projects/open-powerplant まあ Office は 64 bit にする必要もないから Carbon GUI のままでいいのでは... Adobe はがんばって Cocoa に書きなおしているらしい。
324 名前:名称未設定 mailto:sage [2009/02/10(火) 09:32:01 ID:HCu6PKfT0] >>323 Freescaleがオープンソースで公開してたのか。知らなかった。 Win側のOfficeは次のバージョンの14はWeb志向らしいし64bit化はないかもな。 Adobeが書き直し中で、MSは64bit対応予定無しだとすると、後残った大手ベンダーはどこだ?
325 名前:名称未設定 mailto:sage [2009/02/10(火) 09:47:28 ID:A84c3i310] >>324 Mozilla Firefox も Firefox 3 を期に Cocoa になったらしいよ。 boomswaggerboom.wordpress.com/2008/06/10/firefox-3-for-mac-os-x-under-the-hood/ Java GUI も Swing は Apple 自身が Cocoa 化したはず。SWT はいまがんばって書き換え中。
326 名前:名称未設定 [2009/02/10(火) 11:32:28 ID:a+EfxJDo0] int型の数字をNSDictionaryに格納するにあたって dict = [NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithInt:5], @"id",nil]; ってしたんだけど、取り出したときに int student_id = [dict objectForKey:@"id"]; printf("student_id = %d",student_id); するととんでもない値が出力されます。。 一応キャストしてみても駄目でした。 int student_id = (int)[dict objectForKey:@"id"]; 正しく取り出せていないのでしょうか?
327 名前:名称未設定 mailto:sage [2009/02/10(火) 11:37:35 ID:HXxSGtyR0] >>326 >int student_id = [dict objectForKey:@"id"]; それNSNumberのオブジェクトのまま int student_id = [[dict objectForKey:@"id"] intValue]; でないの?
328 名前:名称未設定 mailto:sage [2009/02/10(火) 11:38:03 ID:Ie9BcbwC0] objectForKey:で取り出せるのはint型ではなく、格納したときのNSNumberオブジェクト int student_id = [[dict objectForKey: @"id"] intValue];
329 名前:名称未設定 mailto:sage [2009/02/10(火) 11:38:31 ID:Ie9BcbwC0] かぶったすまん
330 名前:名称未設定 [2009/02/10(火) 11:39:44 ID:a+EfxJDo0] >>328 即レス ありがとう。 上手くいきました。!!!!!!!!!!!!!!!!!!1
331 名前:名称未設定 [2009/02/10(火) 11:42:33 ID:a+EfxJDo0] >>327-328 さんにです。本当にありがとうございました。
332 名前:名称未設定 mailto:sage [2009/02/10(火) 13:45:11 ID:4mx4xlFL0] Finderで既に存在するファイルと同名ファイルをwriteTo系のメソッドで保存しようとした時に、上書きせずに自動で別名ファイルにする方法はありますか? もしくは自動で変更された作られる予定の別名ファイルのパスを取得するようなメソッドはありませんか? title → title 2 みたいな感じのです。 今はディレクトリの中をループで回して同名ファイルのチェックと保存先のファイルパスの変更をしているのですが、一発でパスを取得できる方法があるのかなと思いまして。
333 名前:名称未設定 mailto:sage [2009/02/10(火) 14:35:44 ID:A84c3i310] [[NSFileManager defaultManager] fileExistsAtPath:@"..."] で出来るよ。 NSFileManager / NSWorkspace のメソッドを確認してみてください。
334 名前:名称未設定 mailto:sage [2009/02/10(火) 14:45:38 ID:4mx4xlFL0] それはファイルがあるかどうかの確認だけですよね; 今それをforループの中で使ってファイルがあればファイルパスに文字列を足して新しいファイルパスを自分で生成しているのですが、それを一発で教えてくれるメソッドはないでしょうか?
335 名前:名称未設定 mailto:sage [2009/02/10(火) 14:58:25 ID:vzscJY1q0] >>334 それはプログラム側で指定するべきなわけで。 メソッドが用意されていないのではなく、プログラマの裁量で決められると考えるべき。
336 名前:名称未設定 mailto:sage [2009/02/10(火) 15:03:31 ID:A84c3i310] う〜ん、Finder から Trash に移動させるばあいの API は 10.5 になって公開されましたがね。FSPathMoveObjectToTrashSync とか。 このあたりの API は Carbon に 10.4 / 10.5 になって 何を今更追加しているのかという。 しかも char* と CFStringRef が混在していて意味がよう分からん。
337 名前:名称未設定 mailto:sage [2009/02/10(火) 15:28:22 ID:4mx4xlFL0] >>335 今はFinder準拠でファイル名+半角スペース+数字で連番ファイルを作成してるのですが、 使ってるメソッドがNSStringのstringWithFormatやstringByAppendingStringあたりなので、 "もし"将来的にFinderの挙動が変わるようなことがあった時のことを考えて提供されるAPIがあればそちらを使いたいと思ったわけです。 なぜFinder準拠にしたいかというとnamesOfPromisedFilesあたりを触っていたからです。