2

我是 iOS 新手。我想在我的应用程序中使用 iToast。我关注了 toast-notifications-ios

首先,当我创建我iToast.m的这些行时,我遇到了四个错误:

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

我总是在不同的例子中遇到release问题。autorelease我使用 iOS 5.1,xCode 4.3.3。我看到了很多使用它们的例子,但我总是遇到错误。你能告诉我为什么吗?

当我评论前第三个错误行并使用第四个错误行时:

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。使用它,编译器会为您处理内存并为您呈现retain,releaseautorelease。您可以为您的项目禁用 ARC 或浏览提供的代码并通过翻译retainsreleasesautoreleases.

这解释了差异以及如何过渡:http: //developer.apple.com/library/ios/#releasenotes/ObjectiveC/RN-TransitioningToARC/Introduction/Introduction.html

于 2012-08-05T23:59:44.277 回答