Hatena::Groupiphone-dev

wadadanetの日記

2009-03-03

おしえてください。。。

14:41

かなり詰まってます。

rootViewController

├gameViewController

 └gameView

├highScoreViewContlloer

 └highScoreView

1)「rootViewController.h」

GameViewController *gameViewController;

GameView *gameView;

2)「rootViewController.m」

gameViewController = gameViewController alloc] initWithNibName:@"GameView" bundle:nil];

みたいな感じで作ってるけど、

ゲームが終わったら、[gameViewController release]しますよね?

で、またゲームを作ろうとしたらどうしたらいいんだろ。。。

2)をもう一度実行したら、releaseしてるからつくれないし。。。

たぶん、初心者丸出しの悩みなんだろうなぁ。。。orz

fladdictfladdict2009/03/03 17:28一番手っ取り早いのは、[gameViewController restart] をつけて、リリースしないとかではないかと。
HisScoreViewControllerって重くなさそうだからそれでいけるんじゃないでしょうか。

horigoodhorigood2009/03/03 22:02最初にallocで作っているわけですから、「releaseしてるからつくれない」ってことはないはずです。上記の説明だけでははっきりしませんが、どこかで何か勘違いされているような気がします。

wadadanetwadadanet2009/03/04 18:09>>fladdictさん、horigoodさん
ありがとう御座います。
releaseしても使いまわせるんですね。

もうちょっとがんばってみます。

horigoodhorigood2009/03/04 19:17「使いまわせる」というのとは、ちょっとニュアンスが…

初めにalloc & init した gameViewController が、他のオブジェクト内でretainiされていなければ(保持カウントが1ならば)、releaseした時点で保持カウントは0になり、deallocされてオブジェクトの実態は無くなります。
再度、gameViewController を使う場合には、改めて alloc & init してやるわけですから、これは最初のオブジェクトとは別物です。

ちなみに、releaseと再allocを別のメソッドでおこなう場合には、releaseの際に

[gameViewController release];
gameViewController = nil;

と、変数に nil を代入しておいた方が安全です。

wadadanetwadadanet2009/03/13 12:26基本が分かってなかったみたいです。
参照カウントってのがあるんですね。。。
解決しそうです。

ありがとうございました。

StevenSteven2012/05/30 01:59It's wondreufl to have you on our side, haha!

rrqmajdozgrrqmajdozg2012/05/30 18:00JL3zZ0 <a href="http://ikkvfcquopbj.com/">ikkvfcquopbj</a>

pukaowgunrdpukaowgunrd2012/05/30 22:56d19Mch , [url=http://akelmgzgcnxu.com/]akelmgzgcnxu[/url], [link=http://vbneqrvxyuln.com/]vbneqrvxyuln[/link], http://hpfndvksynwi.com/

wxzgpvdwxzgpvd2012/05/31 22:45T8UxkW <a href="http://jvtmekxhdvtz.com/">jvtmekxhdvtz</a>

pgsqswcwkqopgsqswcwkqo2012/06/01 04:04XDTbjz , [url=http://qkylrcnrskem.com/]qkylrcnrskem[/url], [link=http://dsvifxdxilnf.com/]dsvifxdxilnf[/link], http://zpbcngkdkwrd.com/