2

私はiOSが初めてです。アプリで iToast を使用したいと考えています。toast-notifications-iosをフォローしました

最初に作成したとき、iToast.m次の行で 4 つのエラーが発生しました。

[label release];
[imageView release];
view = [v retain];
iToast *toast = [[[iToast alloc] initWithText:_text] autorelease];

私はいつもさまざまな例で問題をrelease抱えています。autoreleaseiOS 5.1、xCode 4.3.3 を使用しています。それらを使用した多くの例を見ましたが、常にエラーが発生しました。理由を教えていただけますか?

最初の 3 番目のエラー行にコメントし、4 番目のエラー行を次のように使用すると、次のようになります。

iToast *toast = [[iToast alloc] initWithText:_text];

プロジェクトを実行できましたが、Toast がポップアップしても消えません。に書かれているように、この行を使用しましたREADME.md

[[[[iToast makeText:NSLocalizedString(@"Something to display a very long time", @"")] 
                    setGravity:iToastGravityBottom] setDuration:iToastDurationShort] show];

どうすればこの問題を解決できますか?

4

1 に答える 1

0

始めたばかりの場合は、おそらく自動参照カウント (ARC) を使用しているでしょう。これを使用して、コンパイラはメモリを処理し、 、 、および をレンダリングretainreleaseますautorelease。プロジェクトの ARC を無効にするか、提供されたコードを調べてretains、 、releases、およびを変換して ARC 準拠にすることができますautoreleases

これは違いと移行方法を説明しています: http://developer.apple.com/library/ios/#releasenotes/ObjectiveC/RN-TransitioningToARC/Introduction/Introduction.html

于 2012-08-05T23:59:44.277 に答える