09/01/02 16:37:12 dyxTOEUj0
>>787
autoreleaseは、今ではないいつか、自分ではない誰かにreleaseされるというだけです。
より具体的に言えば、autoreleaseメッセージを送られたオブジェクトはNSAutoreleasePoolに登録され、
当該NSAutoreleasePoolが解放されるときにreleaseされます。
通常NSAutoreleasePoolはRunLoopごとに生成と解放を繰り返していますが、自分で生成・解放することも出来ます。
参照カウントによるメモリ管理はとっつきにくいかもしれませんが、一度理解すると簡単です。
789:名称未設定
09/01/02 18:22:04 v8vXElzP0
IB3.1ですがボタンをOption+ドラッグでコピーしてもNSMatrixが作られないんですがどのようにすればいいでしょうか?
790:名称未設定
09/01/02 18:25:38 v8vXElzP0
>>789
メニューからLayout->Embeded Objects in->Matrixでできました。なんでこんな方法に・・・
791:787
09/01/02 19:21:43 anFlbT+C0
>>788
解説ありがとうございます。(数日前にObjCを調べだしたばかりなので勉強になります。)
RunLoopごとということはイベント待ち状態に入るようなメソッドを呼び出した後は
autoreleaseなobjectは解放されてしまっている可能性があるということでしょうか。
そのような関数を呼び出す前にretainしておけば問題ないということですね。
> 参照カウントによるメモリ管理はとっつきにくいかもしれませんが、一度理解すると簡単です。
色々なclassを見て理解を深める必要がありそうです。今は@""で作られるNSString objectは
autoreleaseなのかな? Class methodから返されるobjectは普通autoreleaseになっていそう、
などと頭を悩ましています。
792:名称未設定
09/01/02 19:34:28 dyxTOEUj0
>>791
まずはリファレンスを一読することをお勧めします。英語の方が読みやすいですが。
URLリンク(developer.apple.com)
参照カウントを用いたCocoaのメモリ管理については、ここによくまとまっています。
URLリンク(wwwa.dcns.ne.jp)
クラスメソッド、とくにファクトリメソッドと呼ばれるメソッドで返されるオブジェクトは基本的にautoreleaseされているものとして
考えて間違いありません。
例えば[NSString string]などですね。
これは自分でファクトリメソッドを作るときのことを考えれば理解出来ます。
あと@""で作られるNSStringはさらに少し特殊です。基本的に通常のNSStringと同様に扱うべきですが、
実際にはオブジェクト定数と呼ばれる解放されないオブジェクトです。
793:名称未設定
09/01/02 21:43:21 7tH047C60
自分でallocを記述しない限りreleaseを気にすることはないないなあ。
allocしてもautoreleaseで勝手にしてちょ状態だし。
794:787
09/01/02 23:16:09 warDD5wN0
>>792
補足の説明と資料へのpointerと補足ありがとうございます。Webには日本語版も
あるのですね。いくつか疑問に思っているところについて当たってみたいと思います。
>>793
慣れてしまうとそういうものなのでしょうか。今のところの印象としては常にカウンタの
動きを意識していないと解放してしまっている領域にアクセスしてしまいそうで少し怖い
というのがあります。
795:名称未設定
09/01/03 01:09:56 W5I29rEl0
ToolbarのToolbarItemについての質問です。
マックの「全般」もしくは「一般」みたいなイメージアイコンを使用したいのですが、
そういった情報が紹介されているサイトとかご存知の方、ぜひ教えてください。
796:名称未設定
09/01/03 07:54:36 syVneJlP0
たしかicons.hだかいうヘッダファイルに定義があったと思う。
違ってたらスマソ
797:名称未設定
09/01/03 10:10:44 eDRVrGAa0
>>795
IBのLibraryウインドウのMediaで探せばいい。そのアイコンならNSPreferencesGeneralって名前で表示されてるはず。
コードから利用するなら、[NSImage imageNamed: @"NSPreferencesGeneral"]]
798:名称未設定
09/01/03 10:56:55 36pLQ2/L0
初めまして。最近cocoaに興味を持ち始めたものなのですが、
旧版の楽しいCocoaプログラミングを読みました。これだけでは
次は詳解objective-Cを読もうと思っているのですが、Cの知識が
足りないのではないかと不安です。気にせず次の本に行ってしまって
構わないか、それともお勧めのCの本があれば教えて下さい
店頭で探したところ、MS-DOSでの操作法を書いたものばかりなので
使い難そうだなと思い、お尋ねしました。よろしくお願いします
799:名称未設定
09/01/03 11:09:53 zpr/dVhB0
気にせず進んで、足りないなと思ったらそのとき C の勉強したらいいと思います。
Objective-C で必要な C の知識は、C だけでプログラムする際に必要な C の知識
と重点が異なってくるので、C のためだけの本をまず読んで次に進むというのは
遠回りになると思います。もちろんいろいろ知っていて損はないんだけど。
それよりも、読むだけでなくて、じゃんじゃんサンプルコードを
実際に XCode でプログラムしてみることだと思います。
800:名称未設定
09/01/03 12:12:04 Y07nrpBw0
>>796-797
本当にありがとうございます。
明日、直ぐに確認します。
こういうときに手元にmacがないのが悔しいです。
3月に引越しするので、今PCを買うとどうかなと思って買えずにいるんですよ。
今は大学でminiを使っているんですが、proか自分でカスタマイズしたPCにOSをインストールして
これからもmacを使って少しでもObjective-Cの普及に貢献できればと思っています。
801:名称未設定
09/01/03 12:41:44 5AoBrdvQ0
>>798
どうしてもCの勉強をしたいなら「やさしいC」がオススメ
他の本と同じくWinを基準にした文章だけど、特に問題ないと思う
自分は大丈夫でした
802:名称未設定
09/01/03 12:54:13 eEQ3v3z20
>>798
たぶん大丈夫です。Obj-cしばらく使ってからようやくCのポインタ配列とか勉強
しましたし。
逆によほど特殊な場合じゃないと、使わないってことです。
803:名称未設定
09/01/03 15:47:37 36pLQ2/L0
>>799
>>801
>>802
解糖ありがとうございます。Cは必要に迫られて、という感じです。教えていただいた本は
ObjCを進めて行き詰まった時にでも読んでみます
サンプルコードを読めということですが、自分はXcodeの使い方がまだ分かっていないのか、
IBとXcodeで書いたファイルがどうつながるのか分かっていないようでアプリが作れない状態です
根本的な所が抜けているようなのでもう少し勉強してみる事にします
804:名称未設定
09/01/03 16:57:04 RLKgqpNV0
>>800
つMacBook
大学へも持ち運び出来るぞ。
805:名称未設定
09/01/03 18:35:16 1ihLZGSiP
最近は白いやつなら安いしなー
806:名称未設定
09/01/03 18:42:26 QXEUHyuB0
しかも明日もっと安いの出るかもよー。出ないかもよー。
807:名称未設定
09/01/03 20:33:29 zpr/dVhB0
>>803
たのココって XCode を一歩一歩触りながらアプリを作る方法のってないの?
それができないと詳解 Obj-C とか読んでも仕方がないよ。
まずはちいさいアプリでも実際に作れるようになるのが先決です。
808:名称未設定
09/01/03 22:17:32 I13K2saa0
やっぱり!とかHMDTとか?
まーどうでもいいや。
まだやる気ないし。
と803とは別の人が呟きました